python socket通信发送和接收
时间: 2024-12-31 22:48:05 浏览: 5
Python中使用socket进行通信的基本原理是创建套接字(`socket()`),连接到远程主机,然后进行数据的发送和接收。这里是一个简单的示例,展示如何实现无限循环的发送和接收:
1. **创建套接字**[^1]:
```python
import socket
# 创建TCP/IP套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
```
2. **绑定地址并监听**:
```python
server_address = ('localhost', 12345) # 假设本地端口为12345
s.bind(server_address)
# 开始监听连接请求
s.listen(1)
```
3. **接受客户端连接**:
```python
while True:
connection, client_address = s.accept()
print('Accepted connection from:', client_address)
# 发送数据到客户端 (示例:无限循环发送)
while True:
data = "Hello, this is a server message." # 要发送的数据
connection.sendall(data.encode()) # 使用encode()转换为字节
```
4. **接收客户端数据**:
```python
# 接收客户端响应 (同样可以设置一个接收大小的限制)
received_data = connection.recv(1024)
print('Received', repr(received_data))
# 关闭连接后跳出循环
if not received_data:
break
connection.close() # 关闭连接
```
注意,这个示例中的无限循环可能不适合实际应用,因为它会阻塞服务器直到有新的连接。在实际项目中,通常会在接收到特定标志或者达到特定条件时停止发送。
阅读全文