导航:首页 > 编程语言 > pythonsocketlist

pythonsocketlist

发布时间:2024-11-20 04:45:52

‘壹’ python中使用socket编程,如何能够通过UDP传递一个列表类型的数据

Python中的 list 或者 dict 都可以转成JSON字符串来发送,接收后再转回来。


首先

importjson

然后,把 list 或 dict 转成 JSON

json_string=json.mps(list_or_dict)

如果你用的是Python3,这里的 json_string 会是 str 类型(即Python2的unicode类型),可能需要编码一下:

if type(json_string) == six.text_type:

json_string = json_string.encode('UTF-8')

用socket发送过去,例如

s.sendto(json_string,address)


对方用socket接收,例如

json_string,addr=s.recvfrom(2048)

把JSON转成 list 或 dict

list_or_dict=json.loads(json_string)




下面是个完整的例子:


client.py

#!/usr/bin/envpython
#-*-coding:UTF-8-*-

importsocket
importjson
importsix

address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
mylist=[1,2,3,4,5,6,7,8,9,10]
json_string=json.mps(mylist)
iftype(json_string)==six.text_type:
json_string=json_string.encode('UTF-8')
s.sendto(json_string,address)
s.close()


server.py

#!/usr/bin/envpython
#-*-coding:UTF-8-*-

importsocket
importjson

address=('127.0.0.1',31500)
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(address)
json_string,addr=s.recvfrom(2048)
mylist=json.loads(json_string)
print(mylist)
s.close()


请先运行server.py,再运行client.py

阅读全文

与pythonsocketlist相关的资料

热点内容
旧版安卓怎么开锁 浏览:247
开发程序员推荐 浏览:263
企信如何禁止访问其他app 浏览:71
程序员办公本推荐2019 浏览:197
手机qq下载app在哪里 浏览:536
阿里程序员喊话 浏览:982
软件服务器地址不对怎么办 浏览:156
gcco的编译格式 浏览:192
手持喷码机加密怎么买墨盒 浏览:744
cadcc命令 浏览:902
安卓手机摄像头为什么不用蓝宝石 浏览:958
编译器保留数字 浏览:8
linux解压war命令 浏览:48
红与黑中央编译 浏览:570
我的世界简单命令方块教学 浏览:196
什么游戏解压最合适 浏览:508
安卓怎么搞黑色的界面 浏览:961
java简单类型 浏览:358
python中反射机制 浏览:191
手机app哪里可以报团旅游 浏览:738