当然可以用Python来写一个局域网聊天器!以下是一个简单的示例代码:import socketimport threadingdef send_message(sock): while True: message = input() sock.sendall(message.encode())def receive_message(sock): while True: data = sock.recv(1024) print("收到消息:", data.decode())def main(): # 创建套接字 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind(('localhost', 8888)) server_socket.listen(5) print("服务器已启动,等待客户端连接...") # 接受客户端连接 client_socket, addr = server_socket.accept() print("客户端已连接:", addr) # 创建发送消息的线程 send_thread = threading.Thread(target=send_message, args=(client_socket,)) send_thread.setDaemon(True) send_thread.start() # 创建接收消息的线程 receive_thread = threading.Thread(target=receive_message, args=(client_socket,)) receive_thread.setDaemon(True) receive_thread.start() while True: passif __name__ == '__main__': main()
这是一个基于TCP协议的简单的局域网聊天器。它创建了一个服务器套接字,监听本地主机上的指定端口号(这里使用8888)。当有客户端连接时,它会打印出客户端的地址,并创建两个线程来实现消息的发送和接收。
在`send_message`函数中,用户可以通过输入将消息发送给其他客户端。而在`receive_message`函数中,程序会一直监听来自客户端的消息,并在控制台上打印出来。
注意:该代码只是一个简单示例,可能并不适用于所有情况,比如它只能支持单个客户端连接。如果需要支持多个客户端同时连接和交流,需要对代码进行进一步的修改和改进。
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |