用python3.6写一个TCP客户端链接
时间: 2024-02-27 11:53:10 浏览: 26
好的,以下是一个简单的 Python TCP 客户端连接示例代码:
```python
import socket
HOST = '127.0.0.1' # 目标主机 IP 地址
PORT = 8888 # 目标主机端口号
# 创建一个 TCP 客户端 socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接目标主机
client_socket.connect((HOST, PORT))
# 发送消息
message = 'Hello, server!'
client_socket.sendall(message.encode())
# 接收服务器响应的消息
response = client_socket.recv(1024).decode()
print('Received:', response)
# 关闭 socket 连接
client_socket.close()
```
这个例子中,我们使用 Python 的 `socket` 模块创建了一个 TCP 客户端 socket,并连接到目标主机和端口。
然后,我们发送了一个消息到服务器,并等待服务器响应。在接收到服务器的响应后,我们打印出响应消息,并关闭 socket 连接。
相关问题
用python3.6写一个TCPsever 服务
好的,以下是一个简单的 Python3.6 TCP 服务器代码实现,可以监听本地 9999 端口并接收来自客户端的消息:
```python
import socket
server_host = 'localhost'
server_port = 9999
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((server_host, server_port))
server_socket.listen(1)
print('Listening on port %s ...' % server_port)
while True:
client_conn, client_addr = server_socket.accept()
print('Accepted connection from %s:%d' % (client_addr[0], client_addr[1]))
while True:
data = client_conn.recv(1024)
if not data:
break
print('Received from %s:%d: %s' % (client_addr[0], client_addr[1], data.decode('utf-8')))
client_conn.sendall(data)
client_conn.close()
print('Connection closed by %s:%d' % (client_addr[0], client_addr[1]))
```
你可以将以上代码保存为 server.py 并在命令行中执行 `python server.py` 来启动 TCP 服务器。
用python3.6写一个TCPsever 服务接受到json消息中包含test 返回 测试成功
好的,以下是用 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 会返回 "测试成功" 字符串。