python socket.send发送list
时间: 2023-07-25 21:04:57 浏览: 190
在Python中,`socket.send()`方法只能发送字节数组(bytes)类型的数据。如果要发送列表(list)类型的数据,需要将其转换为字节数组类型。可以使用Python的pickle模块将列表序列化为字节数组,然后再发送。
以下是一个示例代码:
```python
import socket
import pickle
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 定义目标地址和端口号
host = 'localhost'
port = 8000
# 连接服务器
s.connect((host, port))
# 要发送的列表
my_list = [1, 2, 3, 4]
# 将列表序列化为字节数组
data = pickle.dumps(my_list)
# 发送数据
s.send(data)
# 关闭连接
s.close()
```
在接收端,需要使用pickle模块将接收到的字节数组反序列化为列表:
```python
import socket
import pickle
# 创建socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 定义本地地址和端口号
host = 'localhost'
port = 8000
# 绑定地址和端口号
s.bind((host, port))
# 开始监听
s.listen(1)
# 等待客户端连接
conn, addr = s.accept()
# 接收数据
data = conn.recv(1024)
# 将字节数组反序列化为列表
my_list = pickle.loads(data)
# 打印接收到的列表
print(my_list)
# 关闭连接
conn.close()
s.close()
```
阅读全文
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241226111658.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)