以下是一个基于 Python 的聊天程序代码示例:

import socket
import threading

# 创建一个 socket 对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

# 定义主机和端口号
host = '127.0.0.1'
port = 9999

# 绑定主机和端口号
server_socket.bind((host, port))

# 开始监听客户端连接
server_socket.listen()

# 存储客户端套接字的列表
client_sockets = []

# 用于接收客户端消息的函数
def receive_message(client_socket):
    while True:
        try:
            # 接收客户端发送的消息
            message = client_socket.recv(1024).decode('utf-8')
            if message:
                # 打印客户端发送的消息
                print(f'Received message: {message}')
                # 向所有客户端广播消息
                for socket in client_sockets:
                    if socket != client_socket:
                        socket.send(message.encode('utf-8'))
            else:
                # 如果客户端关闭了连接,则从列表中删除套接字
                client_sockets.remove(client_socket)
                client_socket.close()
                break
        except:
            # 如果发生错误,则从列表中删除套接字
            client_sockets.remove(client_socket)
            client_socket.close()
            break

# 用于接受客户端连接的函数
def accept_connections():
    while True:
        # 接受客户端连接
        client_socket, client_address = server_socket.accept()
        # 将客户端套接字添加到列表中
        client_sockets.append(client_socket)
        # 打印客户端连接信息
        print(f'Connection established with {client_address}')
        # 创建一个新线程用于接收客户端消息
        thread = threading.Thread(target=receive_message, args=(client_socket,))
        thread.start()

# 启动接受客户端连接的函数
accept_connections()

使用此代码可以运行一个简单的聊天程序,可在多个客户端之间进行实时通信

python聊天程序代码

原文地址: https://www.cveoy.top/t/topic/edWu 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录