当然可以!下面是一个基于UDP协议的局域网聊天器的示例代码:
服务器端代码:import socketdef receive_messages(udp_socket): while True: data, addr = udp_socket.recvfrom(1024) print('收到消息:', data.decode())def send_messages(udp_socket, dest_ip, dest_port): while True: msg = input('请输入要发送的消息:') udp_socket.sendto(msg.encode(), (dest_ip, dest_port))def main(): udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) udp_socket.bind(('', 8888)) dest_ip = input('请输入客户端的IP地址:') dest_port = int(input('请输入客户端的端口号:')) recv_thread = threading.Thread(target=receive_messages, args=(udp_socket,)) send_thread = threading.Thread(target=send_messages, args=(udp_socket, dest_ip, dest_port)) recv_thread.start() send_thread.start()if __name__ == '__main__': main()
客户端代码:import socketdef receive_messages(udp_socket): while True: data, addr = udp_socket.recvfrom(1024) print('收到消息:', data.decode())def send_messages(udp_socket, server_ip, server_port): while True: msg = input('请输入要发送的消息:') udp_socket.sendto(msg.encode(), (server_ip, server_port))def main(): udp_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_ip = input('请输入服务器的IP地址:') server_port = int(input('请输入服务器的端口号:')) recv_thread = threading.Thread(target=receive_messages, args=(udp_socket,)) send_thread = threading.Thread(target=send_messages, args=(udp_socket, server_ip, server_port)) recv_thread.start() send_thread.start()if __name__ == '__main__': main()
你需要在两台电脑上分别运行服务器端代码和客户端代码。服务器端代码会等待客户端连接,并接收客户端发送的消息。客户端代码会向服务器发送消息,同时接收服务器返回的消息。你需要确保两台电脑在同一个局域网中,并输入正确的IP地址和端口号。希望对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 |