socket 发送与接受
时间: 2023-07-29 14:08:12 浏览: 35
Socket 是一种网络通信协议,它提供了一种在网络上进行进程间通信的方式。在 Socket 中,发送和接收数据都是通过套接字(Socket)来完成的。
发送数据时,首先需要创建一个 Socket 连接,然后通过该连接将数据发送给目标主机。发送数据的代码通常如下所示:
```python
import socket
# 创建一个套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接目标主机
server_address = ('localhost', 9000)
sock.connect(server_address)
# 发送数据
message = 'Hello, World!'
sock.sendall(message.encode())
# 关闭套接字
sock.close()
```
接收数据时,需要先创建一个 Socket 连接,并监听来自其他主机的连接请求。一旦有连接请求到达,就可以接收数据了。接收数据的代码通常如下所示:
```python
import socket
# 创建一个套接字
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听连接请求
server_address = ('localhost', 9000)
sock.bind(server_address)
sock.listen(1)
# 接收连接请求并处理数据
while True:
connection, client_address = sock.accept()
data = connection.recv(1024)
if data:
print(data.decode())
connection.close()
```
这是一个简单的例子,它只能接收一个连接请求并处理一次数据。在实际应用中,需要根据具体需求设计更复杂的网络通信逻辑。