从python套接字udp接收逗号分隔的字节
我正在使用Python3.7.4,试图使用使用python套接字通过udp接收的数据。我需要数组中的数据。我尝试过的每件事要么出错,要么改变数据,使其无用从python套接字udp接收逗号分隔的字节,python,arrays,sockets,udp,Python,Arrays,Sockets,Udp,我正在使用Python3.7.4,试图使用使用python套接字通过udp接收的数据。我需要数组中的数据。我尝试过的每件事要么出错,要么改变数据,使其无用 import socket import select sockets = [] for port in range(5201,5202): server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) server_socket.bind(('127.0
import socket
import select
sockets = []
for port in range(5201,5202):
server_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
server_socket.bind(('127.0.0.1', port))
sockets.append(server_socket)
empty = []
while True:
readable, writable, exceptional = select.select(sockets, empty, empty)
for s in readable:
(client_data, client_address) = s.recvfrom(1024)
rport=(s.getsockname()[1])
print (client_data)
for s in sockets:
s.close()
输出为:
b'[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,25525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525525
我试图将这些数据放入一个数组中,这样我就可以选择单个字节,如client_data[2]。该格式基本上是JSON:
>>> s = b'[255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255]'
>>> import json
>>> json.loads(s)
[255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
>>> a = json.loads(s)
>>> a[0]
255
>>> len(a)
128
这是一种不好的方法,但您可以尝试。
array=eval(output.decode('utf-8'))
输出在哪里b'[255255,…
您可以更改发送数据的客户端吗?有更好的方法。不幸的是,它没有封闭的源代码。