Python实现TCP通信通常涉及以下步骤:
创建套接字:
使用`socket.socket()`函数创建一个TCP套接字。
绑定地址:
使用`socket.bind()`函数将套接字绑定到一个IP地址和端口号上。
监听连接:
使用`socket.listen()`函数开始监听连接请求。
接受连接:
使用`socket.accept()`函数接受客户端的连接请求。
发送和接收数据:
使用`socket.send()`和`socket.recv()`函数进行数据的发送和接收。
关闭连接:
使用`socket.close()`函数关闭套接字。
下面是一个简单的TCP服务器和客户端的示例代码:
服务器端代码(server.py):
```python
import socket
创建服务器套接字
serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
获取本地主机名
host = socket.gethostname()
port = 9999
绑定端口
serversocket.bind((host, port))
设置最大连接数
serversocket.listen(5)
while True:
接受客户端连接
clientsocket, addr = serversocket.accept()
print('连接地址:', addr)
通讯循环
while True:
data = clientsocket.recv(1024)
if not data:
break
print('收到数据:', data.decode())
clientsocket.send(data) 发送接收到的数据回客户端
clientsocket.close()
serversocket.close()
客户端代码(client.py):
```python
import socket
创建客户端套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
连接服务器
s.connect(('127.0.0.1', 9999))
发送数据
s.send(b'Hello, Server!')
接收数据
data = s.recv(1024)
print('收到数据:', data.decode())
关闭连接
s.close()
运行服务器端代码后,再运行客户端代码,客户端将向服务器发送消息,服务器将接收到的消息原样返回给客户端。