1. 程式人生 > >用socket寫一個簡單的聊天程序

用socket寫一個簡單的聊天程序

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()  #
被動接收請求 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() # 關閉服務端
View Code

客戶端代碼:

# 創建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)  #
連接服務端 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() # 關閉客戶端
View Code

# 客戶端裏面的兩處輸入錯誤: from_sever_msg改為:from_server_msg, utd-8改為:utf-8.

用socket寫一個簡單的聊天程序