python 循环收发 tcp 脚本
时间: 2023-08-02 15:13:11 浏览: 47
下面是一个 Python 循环收发 TCP 数据的脚本:
```python
import socket
HOST = '127.0.0.1' # 服务器 IP 地址
PORT = 8888 # 服务器端口号
# 创建 TCP socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((HOST, PORT))
while True:
# 发送数据
msg = input("请输入要发送的消息:")
s.sendall(msg.encode())
# 接收数据
data = s.recv(1024)
print("接收到的消息:", data.decode())
# 关闭连接
s.close()
```
这个脚本使用了 `socket` 模块创建了一个 TCP socket 对象,然后通过 `connect` 方法连接到指定的服务器。在循环中,用户可以输入要发送的消息并通过 `sendall` 方法发送给服务器,然后通过 `recv` 方法接收服务器返回的数据,并打印出来。当用户想要退出时,可以通过 `Ctrl-C` 组合键中断程序并关闭连接。
相关问题
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 客户端示例,如果你需要实现更复杂的功能,可以根据具体需求进行相应的修改。