如何让输出节点的邻居节点 python
1、对于FindNeighbors,规范描述的数据包结构是

2、target是一个NodeId类型,它是一个64字节的公钥。这意味着我们可以在pack和unpack方法中存储和提取它。对于__str__,我将使用binascii.b2a_hex把字节打印成16进制格式。除此以外,其他代码跟我们在PingNode和Pong所见到的相似。所以,我们在discovery.py编写:

3、对于Neighbors,数据包结构为:

4、这要求我们先定义一个Neighbor类,我将在之后定义并取名为Node。对于Neighbors,唯一新概念是nodes是一个列表,所以我们将使用map来打包和解包数据:

5、对于Node,唯一新概念是endpoint是内联打包,所以endpoint.pack()后成为一个单独的列表项,但是它不必,它只要把nodeID追加到此列表末端。

6、对于新建的数据包类,让我们定义新的PingServer方法来接收数据包,先简单地定义:

7、在PingServer的receive方法里面,我们也要调整response_types派发表:
