Python socket 接收同时发送消息
时间: 2023-11-05 22:11:40 浏览: 58
在 Python 中使用 socket 接收和发送消息,可以使用 `socket` 库。下面是一个简单的示例代码:
```python
import socket
HOST = '127.0.0.1' # 服务器 IP 地址
PORT = 5000 # 服务器端口号
# 创建 socket 对象
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((HOST, PORT))
while True:
# 接收消息
data = client_socket.recv(1024).decode('utf-8')
print('Received message:', data)
# 发送消息
message = input('Input message to send: ')
client_socket.sendall(message.encode('utf-8'))
```
在这个示例中,我们使用 `socket.socket()` 方法创建一个 socket 对象,然后使用 `connect()` 方法连接到服务器。接下来,我们在一个无限循环中接收和发送消息。使用 `recv()` 方法接收消息,使用 `sendall()` 方法发送消息。请注意,我们需要使用 `encode()` 和 `decode()` 方法将消息转换为字节数组和字符串。
请注意,此示例中的 send 和 recv 操作都是阻塞的,也就是说,如果没有消息到达或发送成功,程序将一直阻塞在这里。如果需要实现非阻塞的 I/O 操作,可以使用 `select` 或 `selectors` 模块。