python tcp通信
时间: 2023-10-13 18:25:02 浏览: 153
(客户端)python实现tcp通信
TCP (Transmission Control Protocol) 是一种在网络上进行数据传输的协议,它提供了可靠的、有序的、基于字节流的数据传输,以及错误检测和数据确认等功能。在 Python 中,可以使用 socket 模块实现 TCP 通信。
以下是一个简单的 TCP 服务器和客户端示例:
服务器端代码:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定地址和端口
s.bind((HOST, PORT))
# 监听连接
s.listen(1)
print('Waiting for client connection...')
# 等待接受客户端连接
conn, addr = s.accept()
print('Connected by', addr)
while True:
# 接收客户端发送的数据
data = conn.recv(1024)
if not data:
break
# 打印接收到的数据
print('Received from client:', data.decode('utf-8'))
# 发送响应数据给客户端
conn.sendall('Hello, client!'.encode('utf-8'))
# 关闭连接
conn.close()
```
客户端代码:
```python
import socket
HOST = '127.0.0.1'
PORT = 8888
# 创建 socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((HOST, PORT))
# 发送数据给服务器
s.sendall('Hello, server!'.encode('utf-8'))
# 接收服务器响应数据
data = s.recv(1024)
# 打印接收到的数据
print('Received from server:', data.decode('utf-8'))
# 关闭连接
s.close()
```
以上代码中,服务器端首先创建一个 socket 对象,绑定地址和端口,并开始监听连接。当有客户端连接时,服务器接收客户端发送的数据并打印,然后发送响应数据给客户端。客户端首先创建一个 socket 对象,连接服务器,然后发送数据给服务器并接收服务器响应数据。
当然,实际应用中,TCP 通信需要考虑更多的安全性、稳定性、性能等问题,需要根据具体需求进行设计和实现。
阅读全文