|
|
3#

楼主 |
发表于 2015-4-30 09:02:01
|
只看该作者
代码啊?
就是当我发送一段find_node请求到服务器上:{"t":"aa", "y":"q","q":"find_node", "a":{"id":"abcdefghij0123456789","target":"mnopqrstuvwxyz123456"}}
然后服务器给我回复:{"t":"aa", "y":"r", "r":{"id":"0123456789abcdefghij", "nodes":"def456..."}}
而我们最需要的就是最后那段"nodes":"def456..."
其中nodes是保存有node信息的一个列表,其中node信息包含三个字段:nid,ip,port,分别保存有节点的id、ip、端口
按照协议中所说,nid是20字节,ip是4字节、端口为2字节
现在nid能够使用unpack("a20", substr($msg, 0, 20))获取,ip能够使用long2ip(unpack("N", $msg, 21, 4)[1])获取,但是端口就不行,试过所有的unpack格式,就是没办法获取到正确的端口号 |
|