写一个 循环接收数据的tcp客户端 python脚本
时间: 2023-10-01 13:04:36 浏览: 127
好的,以下是一个循环接收数据的TCP客户端Python脚本:
```python
import socket
# 定义服务器地址和端口号
SERVER_ADDRESS = 'localhost'
SERVER_PORT = 8888
# 创建TCP客户端socket对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((SERVER_ADDRESS, SERVER_PORT))
# 循环接收数据
while True:
# 接收数据
data = client_socket.recv(1024)
# 如果接收到的数据为空,则跳出循环
if not data:
break
# 打印接收到的数据
print(data.decode('utf-8'))
# 关闭客户端socket
client_socket.close()
```
该脚本使用了Python标准库中的socket模块,创建了一个TCP客户端socket对象,并连接到指定的服务器地址和端口号。然后,使用一个while循环来不断接收数据,直到接收到的数据为空。在每次接收到数据后,使用decode方法将字节流转换为字符串,并打印出来。最后,关闭客户端socket。
相关问题
python 循环收发 tcp 服务端与客户端脚本
以下是一个简单的 Python TCP 服务端与客户端脚本,可以循环收发消息:
TCP 服务端脚本:
```python
import socket
SERVER_HOST = '0.0.0.0'
SERVER_PORT = 8080
def handle_client(client_socket):
while True:
# 接收客户端消息
request = client_socket.recv(1024)
if not request:
break
print(f'Received message: {request.decode()}')
# 发送响应消息
response = f'You sent me: {request.decode()}'.encode()
client_socket.send(response)
# 关闭客户端连接
client_socket.close()
# 创建 TCP 套接字
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
# 绑定服务器地址和端口
server_socket.bind((SERVER_HOST, SERVER_PORT))
# 监听来自客户端的连接
server_socket.listen(1)
print(f'Server listening on {SERVER_HOST}:{SERVER_PORT}')
while True:
# 等待客户端连接
client_socket, client_address = server_socket.accept()
print(f'Client connected from {client_address[0]}:{client_address[1]}')
# 处理客户端请求
handle_client(client_socket)
```
TCP 客户端脚本:
```python
import socket
SERVER_HOST = '127.0.0.1'
SERVER_PORT = 8080
# 创建 TCP 套接字
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((SERVER_HOST, SERVER_PORT))
print(f'Connected to {SERVER_HOST}:{SERVER_PORT}')
while True:
# 发送消息
message = input('> ')
client_socket.send(message.encode())
# 接收响应消息
response = client_socket.recv(1024)
print(f'Received response: {response.decode()}')
```
使用时,先运行服务端脚本,再运行客户端脚本,即可在客户端输入消息并发送,服务端将会收到并打印消息,并返回响应消息给客户端。客户端将会收到响应消息并打印。
python 循环手法 tcp 脚本
这里提供一个使用 Python 的 socket 库实现 TCP 连接的简单示例,可以发送一些简单的消息,然后等待接收服务器端的响应。代码如下:
```python
import socket
TCP_IP = '127.0.0.1' # 目标服务器 IP 地址
TCP_PORT = 5005 # 目标服务器端口号
BUFFER_SIZE = 1024 # 接收缓冲区大小
# 创建 TCP 客户端套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((TCP_IP, TCP_PORT))
# 发送消息
message = 'Hello, server!'
s.send(message.encode())
# 接收响应
data = s.recv(BUFFER_SIZE)
print('Received:', data.decode())
# 关闭套接字
s.close()
```
在上面的示例中,我们使用 `socket.socket` 函数创建了一个 TCP 客户端套接字,并使用 `connect` 方法连接到目标服务器。然后,我们使用 `send` 方法发送了一条消息,之后使用 `recv` 方法等待服务器的响应。最后,我们关闭了套接字。
上述示例只是一个简单的 TCP 客户端示例,如果你需要实现更复杂的功能,可以根据具体需求进行相应的修改。
阅读全文