首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么java Ethereum要使用UDP?-不是devp2p TCP吗?

为什么java Ethereum要使用UDP?-不是devp2p TCP吗?
EN

Ethereum用户
提问于 2016-05-15 12:18:33
回答 1查看 671关注 0票数 5

通过查看java的源代码,我发现UDPListener是org.ethereum.net.rlpx.discover包的一部分,它似乎使用NioDatagramChannel (Netty的处理UDP数据报的方式)来处理Ping、Pong、FindNode和Neighbours消息,并处理kademia内容。然而,Devp2p规范说它只是TCP,而且一旦发现节点,TCP确实被用于通信。

因此,我有点困惑;UDP是否正式用于节点发现,然后TCP用于通信,如果是,该节点发现协议在哪里记录?

EN

回答 1

Ethereum用户

回答已采纳

发布于 2016-05-15 12:23:56

问: UDP是否正式用于节点发现,然后TCP用于通信?

是。

您可以看到以enode URL格式(来自enode url格式)的30301 UDP发现端口:

代码语言:javascript
复制
enode://6f8a...d92a0@10.3.58.6:30303?discport=30301

问:如果是的话,这个节点发现协议在哪里被记录下来?

https://github.com/ethereum/devp2p/blob/master/rlpx.md

票数 2
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/3945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档