tcp客户端与服务器通信
时间: 2023-09-20 10:08:08 浏览: 37
TCP是面向连接的协议,客户端需要先发起连接请求,服务器端接收请求后才能建立连接。以下是一个基本的TCP客户端与服务器通信的示例代码:
客户端代码:
```python
import socket
HOST = '127.0.0.1' # 服务器的IP地址
PORT = 8888 # 服务器的端口号
BUFFER_SIZE = 1024
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.connect((HOST, PORT)) # 连接服务器
message = input("请输入要发送的消息:")
client_socket.sendall(message.encode()) # 发送消息到服务器
data = client_socket.recv(BUFFER_SIZE) # 接收服务器的响应消息
print("收到来自服务器的消息:", data.decode())
```
服务器端代码:
```python
import socket
HOST = '127.0.0.1' # 本机的IP地址
PORT = 8888 # 服务器的端口号
BUFFER_SIZE = 1024
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as server_socket:
server_socket.bind((HOST, PORT)) # 绑定本机IP地址和端口号
server_socket.listen(1) # 开始监听连接
print("等待客户端连接...")
conn, addr = server_socket.accept() # 接收客户端连接
print("客户端已连接:", addr)
data = conn.recv(BUFFER_SIZE) # 接收客户端的消息
print("收到来自客户端的消息:", data.decode())
reply_message = "已收到你的消息:" + data.decode()
conn.sendall(reply_message.encode()) # 发送响应消息到客户端
```
在运行服务器端代码后,客户端代码可以直接输入要发送的消息,服务器端会收到并返回一个响应消息。这里的 `BUFFER_SIZE` 是缓冲区的大小,可以根据需要进行调整。