网络编程:Python使用socket进行简单通信示例
在Python中,我们可以使用内置的socket
模块来进行网络编程。下面是一个简单的例子,展示如何使用socket进行客户端和服务器端的简单通信:
- 客户端(创建一个连接并发送数据)
import socket
# 创建Socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM))
# 设置目标地址和端口
target_address = 'localhost' # 或者你的服务器IP
target_port = 1234 # 假设这是一个已知的端口
# 连接服务器
client_socket.connect((target_address, target_port)))
# 发送数据
message = 'Hello, Server!'
client_socket.send(message.encode())
# 关闭连接
client_socket.close()
- 服务器(创建一个监听端口并接收数据)
import socket
# 创建Socket对象,这里设置为被动模式(等待客户端连接)
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM))
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR), 1) # 设置接口复用
# 设置目标地址和端口
target_address = 'localhost' # 或者你的服务器IP
target_port = 1234 # 假设这是一个已知的端口
# 启动监听
server_socket.bind((target_address, target_port)))
server_socket.listen(5) # 设置最大连接数
print(f'Server is listening on {target_address}:{target_port}}')
while True:
client_connection, client_address = server_socket.accept() # 接收客户端连接
print(f'Client connected from {client_address}}'))
message = client_connection.recv(1024).decode('utf-8')) # 接收并解码客户端消息
print(f'Received message: {message}}')
client_connection.send(message.upper()) # 发送已修改的回显消息(全部大写)
client_connection.close() # 关闭客户端连接
这只是一个非常基础的例子,实际网络编程会涉及更多的细节和错误处理。
还没有评论,来说两句吧...