用socket寫一個簡單的聊天程序
阿新 • • 發佈:2018-11-22
cli list t對象 bind bre hid lis 結束 聊天
服務端代碼:
# 創建socket對象:socket.socket()——>綁定IP地址和端口:bind——>監聽:listen——>
# 得到請求:accept——>接收請求:recv——>發送信息:send——>關閉close
import socket server = socket.socket() # 創建一個socket對象 ip_port = (‘192.168.43.58‘, 8001) # 給出IP地址和端口號 server.bind(ip_port) # 綁定IP和端口 server.listen(5) # 監聽 conn, address = server.accept() #View Code被動接收請求 while 1: content = input(‘服務端:‘) conn.send(content.encode(‘utf-8‘)) # 發送信息 from_client_msg = conn.recv(1024) # 接收來自客戶端的信息 from_client_msg = from_client_msg.decode(‘utf-8‘) # 解碼來自客戶端的信息 print(‘來自客戶端的信息:‘, from_client_msg) if from_client_msg == ‘bye‘: # 當客戶端的信息為bye時結束聊天break conn.close() # 關閉通道 server.close() # 關閉服務端
客戶端代碼:
# 創建socket對象:socket.socket()——>連接服務器:connect——>獲取消息:recv——>發送消息:send——>關閉close
import socket client = socket.socket() # 創建socket對象 server_ip_port = (‘192.168.43.58‘, 8001) # 給出服務端的IP和端口 client.connect(server_ip_port) #View Code連接服務端 while 1: from_server_msg = client.recv(1024) # 接收來自服務端的信息 from_server_msg = from_sever_msg.decode(‘utf-8‘) # 解碼來自服務端的信息 print(‘來自服務端的信息:‘, from_server_msg) content = input(‘客戶端:‘) client.send(content.encode(‘utd-8‘)) # 發送信息到服務端 if from_server_msg == ‘bye‘: break client.close() # 關閉客戶端
# 客戶端裏面的兩處輸入錯誤: from_sever_msg改為:from_server_msg, utd-8改為:utf-8.
用socket寫一個簡單的聊天程序