Python网络编程:socket通信实例解析
在Python中,Socket是实现两台机器之间通信的基础。以下是一个简单的socket通信实例解析:
导入模块:
import socket
创建socket对象:
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM))
socket.AF_INET
表示使用IPv4地址。socket.SOCK_STREAM
表示这是一个面向连接的套接字。
- 设置服务器端口:
server_socket.bind(('localhost', 1234))) # 设置监听端口
'localhost'
是本地主机名,保证通信不会超出本机范围。1234
是你设置的监听端口号,可以根据实际情况修改。
- 开始监听:
server_socket.listen(5) # 开始监听,等待最多5个连接
5
表示你可以同时处理的最大并发连接数。
- 处理客户端连接请求:
当一个客户端连接到服务器时,会调用对应的回调函数(在socket编程中通常定义在服务器类的实例方法中):
client_socket, client_address = server_socket.accept() # 接受客户端连接
print(f"Connected by {client_address[0]]}:{client_address[1]]}")) # 输出连接信息
# 处理客户端数据,这里只做简单的数据交互
data = client_socket.recv(1024)) # 接收客户端数据
response = "Received data: " + data.decode('utf-8') # 响应客户端数据
client_socket.sendall(response.encode('utf-8')) # 发送响应到客户端
client_socket.close() # 关闭与客户端的连接
以上就是一个基本的Python socket通信实例解析。在实际项目中,可能需要处理更多的场景和错误。
还没有评论,来说两句吧...