服务器端代码
import socket def start_server(host='localhost', port=12345): # 创建套接字对象 server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 绑定IP地址和端口号 server_socket.bind((host, port)) print(f"服务器启动成功,监听在 {host}:{port}") # 开始监听,最大连接数为5 server_socket.listen(5) print("等待客户端连接...") # 接受客户端连接 client_socket, client_address = server_socket.accept() print(f"客户端 {client_address} 已连接") try: while True: # 接收数据 data = client_socket.recv(1024) if not data: break print(f"收到来自客户端的数据: {data.decode('utf-8')}") # 发送数据回客户端 response = "服务器已收到你的消息" client_socket.sendall(response.encode('utf-8')) finally: # 关闭连接 client_socket.close() server_socket.close() print("连接已关闭") if __name__ == '__main__': start_server()
客户端代码
import socket def connect_to_server(host='localhost', port=12345): # 创建套接字对象 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 连接到服务器 client_socket.connect((host, port)) print(f"已连接到服务器 {host}:{port}") try: # 发送数据到服务器 message = "你好,服务器!" client_socket.sendall(message.encode('utf-8')) print(f"发送消息: {message}") # 接收服务器的响应 response = client_socket.recv(1024) print(f"收到服务器的响应: {response.decode('utf-8')}") finally: # 关闭连接 client_socket.close() print("连接已关闭") if __name__ == '__main__': connect_to_server()
运行步骤
1、启动服务器:首先运行服务器端代码,它会监听指定的IP地址和端口。
2、启动客户端:然后运行客户端代码,它将会连接到服务器并发送一条消息。
3、查看输出:你会看到服务器端和客户端都打印了相应的消息,显示通信已经成功完成。
注意事项
确保服务器和客户端在同一网络或可以互相访问。
如果使用的是防火墙,请确保相应端口是开放的。
这个示例使用阻塞式I/O,实际应用中可以考虑使用非阻塞I/O或异步I/O来提高性能。
以上就是关于“服务器到客户端程序”的问题,朋友们可以点击主页了解更多内容,希望可以够帮助大家!
原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/661582.html