用python写一个聊天室程序

下面是一个简单的基于Socket的Python聊天室程序示例,包括服务器端和客户端:

服务器端代码:

import socket
import threading

def handle_client(client, address):
    print(f"New connection from {address}")
    while True:
        msg = client.recv(1024).decode()
        if not msg:
            break
        print(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 = 5555

server = 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 threading

def receive_messages():
    while True:
        msg = client.recv(1024).decode()
        print(msg)

host = '127.0.0.1'
port = 5555

client = 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())

要使用此聊天室程序,您需要在一个终端窗口中运行服务器端代码,并在另一个终端窗口中运行客户端代码。

请注意,这只是一个简单的示例,没有进行错误处理和安全性检查。在实际应用中,您可能需要添加更多功能以确保程序的稳定性和安全性。

你可能感兴趣的:(Python,python,服务器,网络)