用python3.6写一个TCPsever 服务接受到json消息中包含test 返回 测试成功
时间: 2024-02-27 22:54:27 浏览: 152
好的,以下是用 Python 3.6 编写的 TCP Server 代码:
```python
import socket
import json
# 定义监听的 IP 和端口号
HOST = '127.0.0.1'
PORT = 8888
# 创建一个 TCP Socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定 IP 和端口号
s.bind((HOST, PORT))
# 开始监听
s.listen()
print('TCP Server is listening on {}:{}'.format(HOST, PORT))
while True:
# 接受客户端的连接请求
conn, addr = s.accept()
print('Connected by', addr)
# 接受客户端发送的数据
data = conn.recv(1024)
# 如果没有数据,则跳过
if not data:
continue
# 解析 JSON 数据,判断是否包含 "test" 字段
try:
json_data = json.loads(data.decode('utf-8'))
if 'test' in json_data:
# 如果包含 "test" 字段,则向客户端发送 "测试成功" 字符串
conn.sendall('测试成功'.encode('utf-8'))
except Exception as e:
print(e)
# 关闭连接
conn.close()
```
你可以使用以下代码向 TCP Server 发送 JSON 数据:
```python
import socket
import json
# 定义要发送的 JSON 数据
json_data = {'name': '张三', 'age': 18, 'test': 'test'}
# 定义 TCP Server 的 IP 和端口号
HOST = '127.0.0.1'
PORT = 8888
# 创建一个 TCP Socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接 TCP Server
s.connect((HOST, PORT))
# 发送 JSON 数据
s.sendall(json.dumps(json_data).encode('utf-8'))
# 接受 TCP Server 返回的数据
data = s.recv(1024)
# 打印返回的数据
print(data.decode('utf-8'))
# 关闭连接
s.close()
```
运行 TCP Server 的代码后,你可以使用以上代码向 TCP Server 发送 JSON 数据,如果 JSON 数据包含 "test" 字段,则 TCP Server 会返回 "测试成功" 字符串。
阅读全文