V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Dec32
V2EX  ›  问与答

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

  •  
  •   Dec32 · 2021-02-08 00:03:13 +08:00 · 980 次点击
    这是一个创建于 1174 天前的主题,其中的信息可能已经有所发展或是发生改变。
    大三学生,寒假在家做了个小玩具( https://github.com/dec32/Stupid-Chat ),用 STUN 获取自己被 NAT 设备分配到的公网地址和端口,然后利用这个地址和端口和别人互传文本消息。

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

    本人没什么知识储备,只能想到把这个信息放到 BT tracker 上或者 DHT 上,后来又在站内搜了一下 UDP 打洞的帖文,也有看到说用 IRC 来中转的。想请问还有没有什么好一点的思路呢?
    3 条回复    2021-02-08 11:30:58 +08:00
    felixcode
        1
    felixcode  
       2021-02-08 00:39:10 +08:00
    通过 API 来更新 DNS 记录,不少 DNS 服务支持的。
    systemcall
        2
    systemcall  
       2021-02-08 01:51:56 +08:00   ❤️ 2
    还是拿个服务器来弄比较好吧。放 bt tracker 好像不太现实吧,Infohash 之类的怎么来呢?
    电子邮件呢?不过那样就是已经有聊天的信息了,如果搞视频功能的话肯定会被黑产用
    kad 倒是有聊天的功能,不过国内不太好连。
    pursuer
        3
    pursuer  
       2021-02-08 11:30:58 +08:00
    之前我也做过小测试,可以把 ID 的一部分包装进 hash 里,一个问题是 announce 到 tracker 后,超时时间不受控,不可用的端口可能还会挂在上面,也没有什么用户验证,感觉还是搭个中心服务好一点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2513 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 15:43 · PVG 23:43 · LAX 08:43 · JFK 11:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.