tcp通信 python
时间: 2024-12-10 17:14:27 浏览: 6
TCP通信是一种可靠的、面向连接的网络通信协议,广泛应用于数据传输和网络通信。Python提供了`socket`模块来处理TCP通信。通过`socket`模块,你可以创建客户端和服务器端程序,实现数据的发送和接收。
以下是一个简单的TCP服务器和客户端示例:
### TCP服务器示例
```python
import socket
def start_server():
# 创建一个TCP/IP套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定套接字到地址和端口
server_address = ('localhost', 65432)
server_socket.bind(server_address)
# 监听传入的连接
server_socket.listen(1)
print("服务器正在监听端口65432...")
while True:
# 等待连接
connection, client_address = server_socket.accept()
try:
print(f"连接来自: {client_address}")
# 接收数据
while True:
data = connection.recv(1024)
if data:
print(f"收到数据: {data.decode()}")
# 发送响应
connection.sendall(data)
else:
print("没有更多数据,关闭连接")
break
finally:
# 关闭连接
connection.close()
if __name__ == "__main__":
start_server()
```
### TCP客户端示例
```python
import socket
def start_client():
# 创建一个TCP/IP套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接到服务器
server_address = ('localhost', 65432)
client_socket.connect(server_address)
try:
# 发送数据
message = "Hello, Server!"
client_socket.sendall(message.encode())
print(f"发送数据: {message}")
# 接收响应
data = client_socket.recv(1024)
print(f"收到响应: {data.decode()}")
finally:
# 关闭连接
client_socket.close()
if __name__ == "__main__":
start_client()
```
在这个示例中,服务器端程序会在本地主机的65432端口上监听连接请求。客户端程序连接到服务器,发送一条消息,并接收服务器的响应。
阅读全文