下面是一個簡單的基于Socket的Python聊天室程序示例,包括服務器端和客戶端:
服務器端代碼:
import socket
import threadingdef handle_client(client, address):print(f"New connection from {address}")while True:msg = client.recv(1024).decode()if not msg:breakprint(f"Received message: {msg}")broadcast(msg)client.close()def broadcast(msg):for client in clients:client.send(msg.encode())host = '127.0.0.1'
port = 5555server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind((host, port))
server.listen()clients = []print("Server is running...")while True:client, address = server.accept()clients.append(client)thread = threading.Thread(target=handle_client, args=(client, address))thread.start()
客戶端代碼:
import socket
import threadingdef receive_messages():while True:msg = client.recv(1024).decode()print(msg)host = '127.0.0.1'
port = 5555client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((host, port))thread = threading.Thread(target=receive_messages)
thread.start()while True:msg = input()client.send(msg.encode())
要使用此聊天室程序,您需要在一個終端窗口中運行服務器端代碼,并在另一個終端窗口中運行客戶端代碼。
請注意,這只是一個簡單的示例,沒有進行錯誤處理和安全性檢查。在實際應用中,您可能需要添加更多功能以確保程序的穩定性和安全性。