b2b模式的聊天工具
服務端:
1 # 連結 2 while True: 3 print('等待連線...') 4 sock,adr = server_socket.accept() 5 while True: 6 try: 7 # 接受資料 8 data = sock.recv(1024) 9 print(adr[0] + '發來訊息:', data.decode()) 10 # 傳送資料 11 send_msg = input("請輸入傳送內容>>").strip() 12 sock.send(send_msg.encode('utf-8')) 13 except ConnectionResetError as e: 14 print('%s斷開連線!' %adr[0]) 15 break 16 # 關閉本次連線 17 sock.close() 18 # 關閉socket 19 server_socket.close()
客戶端:
import socket # 設定伺服器ip和埠號 host_ip = '192.168.31.207' port = 8896 client_socket = socket.socket() client_socket.connect((host_ip,port)) while True: send_msg = input('請輸入內容>>').strip() if send_msg == '': continue client_socket.send(send_msg.encode()) recv_data = client_socket.recv(1024) print(host_ip+"回覆:"+recv_data.decode()) client_socket.close()
目前只支援客戶端發一句,服務端發一句這種模式。
超過一句內容後,發出去的內容對方接收不到
結果: