python tcp
时间: 2023-06-22 12:30:42 浏览: 93
Python提供了socket模块来实现TCP连接。下面是一个简单的TCP客户端和服务器的例子:
TCP客户端:
```python
import socket
HOST = '127.0.0.1' # 服务器IP地址
PORT = 8888 # 服务器端口号
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP套接字
client_socket.connect((HOST, PORT)) # 连接服务器
while True:
message = input('>>') # 输入要发送的消息
client_socket.sendall(message.encode('utf-8')) # 发送消息到服务器
data = client_socket.recv(1024) # 接收服务器的响应
print('Received:', data.decode('utf-8')) # 打印响应消息
if message == 'exit':
break
client_socket.close() # 关闭套接字
```
TCP服务器:
```python
import socket
HOST = '127.0.0.1' # 服务器IP地址
PORT = 8888 # 服务器端口号
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 创建TCP套接字
server_socket.bind((HOST, PORT)) # 绑定IP地址和端口号
server_socket.listen(1) # 监听连接请求
print('Server is listening on {}:{}'.format(HOST, PORT))
while True:
conn, addr = server_socket.accept() # 接受客户端连接请求
print('Connected by', addr)
while True:
data = conn.recv(1024) # 接收客户端消息
if not data:
break
print('Received:', data.decode('utf-8'))
conn.sendall(data.upper()) # 将客户端消息转换为大写并返回
if data.decode('utf-8') == 'exit':
break
conn.close() # 关闭连接
```
在上面的例子中,我们使用socket模块创建了TCP套接字,并通过connect()方法连接服务器或使用bind()方法绑定IP地址和端口号来创建服务器,然后监听连接请求。在客户端中,我们使用sendall()方法发送消息,使用recv()方法接收服务器的响应。在服务器中,我们使用accept()方法接受客户端连接请求,使用recv()方法接收客户端消息,使用sendall()方法将消息转换为大写并返回给客户端。
阅读全文