如何用Python实现TCP协议的客户端与服务器端通信
时间: 2024-10-27 15:02:26 浏览: 11
Python socket网络编程TCP/IP服务器与客户端通信
5星 · 资源好评率100%
在Python中,我们可以使用内置的socket模块来实现TCP协议的客户端与服务器端通信。以下是简单的步骤:
**服务器端(Server):**
```python
import socket
# 创建套接字对象
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 获取本地主机名和端口
host = 'localhost'
port = 12345
# 绑定地址和端口
server_socket.bind((host, port))
# 开始监听连接
server_socket.listen(1)
print(f"Server is listening on {host}:{port}")
# 接受客户端连接
client_socket, client_address = server_socket.accept()
print(f"Accepted connection from: {client_address}")
# 收发数据
data = client_socket.recv(1024) # 接收数据
print("Received:", data.decode()) # 解码并打印
# 发送响应
response = "Hello, Client!"
client_socket.sendall(response.encode()) # 发送数据
# 关闭连接
client_socket.close()
server_socket.close()
```
**客户端(Client):**
```python
import socket
# 创建套接字对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 指定目标主机和端口
host = 'localhost'
port = 12345
# 连接到服务器
client_socket.connect((host, port))
# 发送数据
message = "Hello, Server!"
client_socket.send(message.encode())
# 接收服务器响应
data = client_socket.recv(1024)
print("Response:", data.decode())
# 关闭连接
client_socket.close()
```
在上述代码中,服务器等待客户端连接,然后接收和发送数据;客户端则主动连接到服务器,发送消息并接收回应。
阅读全文