P2P 应用,双方交换 IP 和端口号有没有什么好手段?

2021-02-08 00:03:13 +08:00
 Dec32
大三学生,寒假在家做了个小玩具( https://github.com/dec32/Stupid-Chat ),用 STUN 获取自己被 NAT 设备分配到的公网地址和端口,然后利用这个地址和端口和别人互传文本消息。

朋友建议说弄一个加好友的功能,那就要求每人有个固定的 ID,并且在上线的时候,把自己的 (ID, ip, port) 上传到什么约定好的地方去,之后别人就可以通过 ID 找到你的联系方式了。

本人没什么知识储备,只能想到把这个信息放到 BT tracker 上或者 DHT 上,后来又在站内搜了一下 UDP 打洞的帖文,也有看到说用 IRC 来中转的。想请问还有没有什么好一点的思路呢?
1002 次点击
所在节点    问与答
3 条回复
felixcode
2021-02-08 00:39:10 +08:00
通过 API 来更新 DNS 记录,不少 DNS 服务支持的。
systemcall
2021-02-08 01:51:56 +08:00
还是拿个服务器来弄比较好吧。放 bt tracker 好像不太现实吧,Infohash 之类的怎么来呢?
电子邮件呢?不过那样就是已经有聊天的信息了,如果搞视频功能的话肯定会被黑产用
kad 倒是有聊天的功能,不过国内不太好连。
pursuer
2021-02-08 11:30:58 +08:00
之前我也做过小测试,可以把 ID 的一部分包装进 hash 里,一个问题是 announce 到 tracker 后,超时时间不受控,不可用的端口可能还会挂在上面,也没有什么用户验证,感觉还是搭个中心服务好一点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/752225

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX