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

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

服務端程式碼:

# 建立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.