我需要使用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” ? 在
谢谢!!在
{{cd2>你需要转换。也就是说,您将需要考虑到碎片以及TCP不能保证所有的都将在一个包中接收。为此,您最有可能希望在消息的前缀添加一些字段,这些字段将告诉您消息的长度。在
为此,您可以在netty中使用
LengthFieldBasedFrameDecoder
,然后在后面加上StringDecoder
。在相关问题 更多 >
编程相关推荐