./_peer_config 节点配置(imformater无需配置)
./_protocol 项目网络的通讯协议
./imformater 一种知识节点的实现
./peer 一种成员节点实现
./tcpudp 通讯socket基类,p2p网络不同角色皆基于此编写,协议消息处理采用生产消费者模式
- self.
- [WcChain_py --> main] (http://gitlab.weicheche.cn/xuechen.han/WcChain_py/tree/master)
两种角色: imformater peer
两个过程: 向imformater登记自己 寻找其他peer并完成测试通信
- 1.当需要重连其他peer的待连接阶段(处理完1011之后),如果目标已经存在在路由表中,可以先通过路由表地址尝试,成功则可以直接维护表值而跳过穿洞过程。
- 2.udppeer.block_request 的时候,需要暂停route;或者也同化其使用底层的生产消费者模式(也许能解决block的超时挂掉进程的问题)。 --已解决,事实证明统一走生产消费线能解决不少问题
- 3.传输分片的支持,需要包含完整度检测。
- 4.新加入节点的全量链下载,长链被同步的问题,依赖于3。
- 1.还未实现基于tcp的p2p通信。
- 2.imformater的对等化,备份化,非常用路由信息文件化,以及服务化。
- 3.基于加密的通信。
- 4.非法消息的黑名单机制。
将不同内网napt分配session的规律存储于imformater
需要通过尝试和预留端口穿洞时,尝试次数期望由30000次下降为2000次