(Netty)Python客户机到Java服务器,ASCII到二进制或十六进制

2024-06-28 08:44:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要使用python客户机连接Netty服务器(基于JAVA)。在

客户:

UDP_IP = "127.0.0.1"
UDP_PORT = 9999
MESSAGE = "16,01,12,03,1b,14,30,23,8000,03E8,0000,0000"
s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.sendto(MESSAGE, (UDP_IP, UDP_PORT))

但是Netty服务器显示:

31 36摄氏度30 31摄氏度31 32摄氏度30 33摄氏度31 62摄氏度31
34 2c 33 30 2c 32 33 2c 38 30 30 30 2c 30 33 45
38摄氏度30摄氏度30摄氏度30摄氏度30摄氏度30摄氏度

它看起来像“ASCII十六进制”。。。在

我该怎么做才能得到“16,01,12,03,1b,14,30,238000,03e80000000” ? 在

谢谢!!在


Tags: ip服务器message客户机客户portsocketjava
1条回答
网友
1楼 · 发布于 2024-06-28 08:44:20

{{cd2>你需要转换。也就是说,您将需要考虑到碎片以及TCP不能保证所有的都将在一个包中接收。为此,您最有可能希望在消息的前缀添加一些字段,这些字段将告诉您消息的长度。在

为此,您可以在netty中使用LengthFieldBasedFrameDecoder,然后在后面加上StringDecoder。在

相关问题 更多 >