我对果郎和这种低级的东西还不熟悉,所以也许我只是想错了方向。在
我的项目是一个小型的golang监控客户端,它通过加密的TLS连接发送一些ping消息(当前日期)(这只是为了学习目的)。 python服务器和客户机目前运行良好。在
(python)服务器和客户端将数据打包如下:
[...]
def _send_msg(self, msg):
msg = struct.pack('>I', len(msg)) + bytes(msg, 'UTF-8')
self.client.send(msg)
def _recv_msg(self):
raw_msglen = self.client.recv(4)
if not raw_msglen:
return ""
msglen = struct.unpack('>I', raw_msglen)[0]
return self._recvall(msglen)
[...]
在移动端,我将数据打包如下:
^{pr2}$下面是我使用的golang客户端测试代码:http://pastebin.com/dr1mJZ9Y 以及相应的终端输出:http://pastebin.com/mrctJPs5
奇怪的是,登录消息(包括服务器响应)都被正确地发送(和接收),但第二次我尝试发送ping时如下所示:
tlsConn.Write(pack("ping 0000-00-00 00:00:00"))
消息似乎没有到达服务器,没有响应消息被发送回客户端。在
数据包数据的二进制编码和长度前缀是否有错误?在
我知道代码看起来有点混乱,不太符合习惯用法,很抱歉。 再次提前感谢您的帮助!在
软件依赖性/环境:
目前没有回答
相关问题 更多 >
编程相关推荐