我在发送和接收数据时遇到问题。我有一个包含此格式字符串的全局列表,例如“127.0.0.1 4001\r\n”
当我的管理客户端连接时,如何通过套接字发送和接收它们?在
服务器(不是完整的代码,只是处理管理连接的线程)
def HandleAdmin(adminSocket,):
global addressList
(c,a) = adminSocket.accept()
for i in addressList:
print(i)
ts = ssl.wrap_socket(c, certfile="5cc515_server.crt",
keyfile="5cc515_server.key",
server_side=True,
cert_reqs=ssl.CERT_REQUIRED,
ca_certs="5cc515-root-ca.cer")
if ts.recv(80).decode() == 'Hello\r\n':
ts.send('Admin-Greetings\r\n'.encode())
if ts.recv(80).decode() == 'Who\r\n':
ts.send(addr.encode())
ts.close()
return
管理客户端
^{pr2}$
据我所知,你只需要发送你的字符串,这样你就可以把你的整个列表合并成一个字符串并发送它。在
当然,如果您不知道消息的长度,那么您需要通过示例将其添加到字符串}的行乞中。在
msj = unichr(len(msj)) + msj
或{另外,您可以使用
pickle
将数据压缩成一个字符串,然后发送其size+pickle,然后在另一端对其进行解码。在相关问题 更多 >
编程相关推荐