tcp聊天室 天上人間 V2 0版本

2021-09-02 14:24:09 字數 1369 閱讀 8506

用tcp套接字搭建聊天室

import socket

def main():

#1.建立tcp套接字

tcp_socket = socket.socket(socket.af_inet,socket.sock_stream)

#2.繫結本地資訊(bind)

tcp_socket.bind(("",6344))

#3.預設的套接字由主動改為被動(listen)

tcp_socket.listen(128)

while true:

print("歡迎來到 [天上人間] 聊天室 v2.0版本")

print("[1]進入聊天室 : [0]退出聊天室")

chatting_input = input("請選擇您想進行的操作:")

#如果使用者選擇[1]

if chatting_input == "1":

print("正在等待使用者鏈結中...")

#4.等待客戶鏈結(accept)

new_client,wait_client = tcp_socket.accept()

print("當前使用者為: %s"%str(wait_client))

while true:

#輸出選擇功能介面

print("[1]:接收資料; [2]:傳送資料 ; [0]:退出房間")

slect_input = input("請您選擇想要執行的操作: ")

print("您選擇的操作為: %s"%slect_input)

print("歡迎來到 [天上人間] 001號房 ")

#進行判斷

if slect_input == "1":

#5.接收資料

recv_data = new_client.recv(1024)

print("客戶端發來的資訊為:%s"%recv_data.decode("utf-8"))

#如果輸入[2],則傳送資料;

elif slect_input == "2":

#6.傳送資料

send_data = input("請輸入您所要傳送的內容: ")

new_client.send(send_data.encode("utf-8"))

#如果輸入0,提出聊天室

else:

print("謝謝使用,歡迎下次光臨")

break

else:

break

#6.關閉套接字

new_client.close()

tcp_socket.close()

if __name__ == "__main__":

main()

TCP協議實現的聊天室

分析功能 1 客戶端登入 1 伺服器 1.使用迴圈一直監聽客戶端的連線 2.伺服器的收和發執行緒寫到一起 serverthread類 3.在伺服器中使用字元流進行收發,先讀客戶端登入名資料,再 出去 2 客戶端 1.傳送資料到伺服器 sendthread 2.接收伺服器中 的資料 recvthrea...

Go語言 之TCP聊天室

服務端流程圖如下 客戶端結構體 type client struct var is online map string client 訊息通訊 var messages make chan string 廣播全域性訊息到客戶端 func message 生產訊息函式 func makemsg cli...

招聘亂想 51job,日本人,天上人間和花姑娘

4月6日 近日看了2則訊息。乙個是 天上人間在51job的招聘廣告 另乙個是 日本資本收購51job 我感覺這些都是對51job這樣的上市公司的非利好新聞。本人對日本國和中國娛樂界的典範都談不上特別的厭惡,但是以51job在中國人力資本招聘界影響和地位來看,我總是心裡覺得非常不爽。地球人都知道21世...