下面的代码发送UDP广播以从局域网上的两个OW服务器获取数据。回复为:
{u'Product':u'OWServer_v2-Enet',u'Name':u'OWServer_v2-Enet_19',u'IP':u'10.0.1.19',u'tcpintfort':u'0',u'HTTPPort':u'80',u'MAC':u'00-04-A3-B1-F1-86',u'Bootloader':u'POST',u'fver':u'1.44',u'NETBios':u'EDSOWSERVER19'} {u'Product':u'OWServer_v2-Enet',u'Name':u'OWServer_v2-Enet_20',u'IP':u'10.0.1.20',u'tcpintfort':u'0',u'HTTPPort':u'80',u'MAC':u'00-04-A3-C1-43-86',u'Bootloader':u'POST',u'fver':u'1.44',u'NETBios':u'EDSOWSERVER20'}
我所做的任何事情都会将这两个dict视为一个,例如print resp[“Name”]返回
OWServer_v2-Enet_19
OWServer_v2-Enet_20
这两个单词之间没有空格或逗号,因此我无法拆分它们
有人知道如何做到这一点吗
import socket
import json
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
s.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, True)
s.sendto("D", ('<broadcast>', 30303))
while True:
resp = s.recv(1024)
resp = json.loads(resp)
print resp
目前没有回答
相关问题 更多 >
编程相关推荐