"
使用Python的socket模块可以实现网络通讯,包括TCP和UDP协议。下面是使用Python socket模块发送和接收数据的一些示例代码:
## 发送数据
```python
import socket
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
server_address = ('localhost', 10000)
sock.connect(server_address)
# 发送数据
message = 'Hello, World!'
sock.sendall(message.encode())
# 关闭连接
sock.close()
```
在上面的代码中,我们首先导入socket模块,然后创建一个socket对象。接着,我们使用`connect()`方法连接到服务器,并使用`sendall()`方法发送数据。最后,我们关闭socket连接。
## 接收数据
```python
import socket
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 绑定服务器地址
server_address = ('localhost', 10000)
sock.bind(server_address)
# 监听连接
sock.listen(1)
# 接受数据
connection, client_address = sock.accept()
data = connection.recv(1024)
print('Received:', data.decode())
# 关闭连接
connection.close()
sock.close()
```
在上面的代码中,我们首先创建一个socket对象,然后使用`bind()`方法绑定服务器地址。接着,我们使用`listen()`方法监听连接,并使用`accept()`方法接受来自客户端的连接。最后,我们使用`recv()`方法接收数据,并使用`decode()`方法将数据转换为字符串。
## UDP发送和接收
在使用UDP协议时,我们需要先创建一个socket对象,然后使用`sendto()`方法发送数据,使用`recvfrom()`方法接收数据。下面是两个示例代码:
### 发送数据
```python
import socket
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 设置服务器地址
server_address = ('localhost', 10001)
sock.bind(server_address)
# 发送数据
message = 'Hello, World!'
sock.sendto(message.encode(), ('localhost', 10002))
# 关闭连接
sock.close()
```
### 接收数据
```python
import socket
# 创建socket对象
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
# 设置服务器地址
server_address = ('localhost', 10002)
sock.bind(server_address)
# 接收数据
data, client_address = sock.recvfrom(1024)
print('Received:', data.decode())
# 关闭连接
sock.close()
```
在上面的代码中,我们使用`bind()`方法设置服务器地址,然后使用`sendto()`方法发送数据,使用`recvfrom()`方法接收数据。最后,我们关闭socket连接。"