关于socket外网通讯的问题

bi728622866 2011-08-21 05:08:55
我想问一下 比如我想写个像qq那样的聊天工具 在外网实现 必须通过p2p打洞技术 或者中转的服务器吗?
...全文
175 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jernymy 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 bi728622866 的回复:]
在外网实现 必须通过p2p打洞技术 或者中转的服务器吗?
[/Quote]
理论上是这样的。
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
谢谢 了
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 bi728622866 的回复:]

引用 11 楼 jackyjkchen 的回复:

引用 10 楼 bi728622866 的回复:



这就是我说的限制,如果对方是nat转换后的内网用户又没有配置端口映射,这种直连方式就不行


哦 端口映射那我绑定的是外网ip还是内网的呢? 而且比如客户用的时候也不可能自己映射啊
网上有那种 公共开放的中转服务器吗?
[/Quote]

没听说有这种东西

你可以参考电驴的协议(开源的),他就没有中转服务器,而且内网用户也能用,比较巧妙。
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 jackyjkchen 的回复:]

引用 10 楼 bi728622866 的回复:



这就是我说的限制,如果对方是nat转换后的内网用户又没有配置端口映射,这种直连方式就不行
[/Quote]

哦 端口映射那我绑定的是外网ip还是内网的呢? 而且比如客户用的时候也不可能自己映射啊
网上有那种 公共开放的中转服务器吗?
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 bi728622866 的回复:]

不需要中转服务器的话 所发请求包不是会被NAT 当做是未被邀请的 而丢掉吗 。 而且有的ip都是虚拟的ip 。
能细说一下吗
[/Quote]
这就是我说的限制,如果对方是nat转换后的内网用户又没有配置端口映射,这种直连方式就不行
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
不需要中转服务器的话 所发请求包不是会被NAT 当做是未被邀请的 而丢掉吗 。 而且有的ip都是虚拟的ip 。
能细说一下吗
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bi728622866 的回复:]

如果点对点 不也得需要有服务器 中转一下吗, 要是连接成功了才能点对点吗。
[/Quote]
不需要,双方直接建立连接就可以,但是有我说的那些限制
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
如果点对点 不也得需要有服务器 中转一下吗, 要是连接成功了才能点对点吗。
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bi728622866 的回复:]

就说的是 点对点 的那种 麻烦大哥 可以 详细说一下吗 谢谢
[/Quote]
怎么详细,不就是像“飞秋”那样,你知道(或搜索到)对方的ip,就去连对方建立连接交互数据呗……不过飞秋是内网的

做外网的话,有许多限制,如果对方在内网里,你可能找不到他
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
就说的是 点对点 的那种 麻烦大哥 可以 详细说一下吗 谢谢
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bi728622866 的回复:]

就比如说像写一个小得通讯工具 也根本没必要说 去买个IP 和服务器 那那种是怎么实现外网通讯的呢, 难道是用别人的 服务器吗 ?
[/Quote]

如果你想做那种带用户和登录功能的,肯定都有个服务器,PC也可以做服务器。

仅仅是点对点通信,可以不用
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
就比如说像写一个小得通讯工具 也根本没必要说 去买个IP 和服务器 那那种是怎么实现外网通讯的呢, 难道是用别人的 服务器吗 ?
jackyjkchen 2011-08-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 bi728622866 的回复:]

那 比如VPN 拨号也得需要服务器之类的吗?
[/Quote]
没服务器,你怎么建立vpn……
bi728622866 2011-08-21
  • 打赏
  • 举报
回复
那 比如VPN 拨号也得需要服务器之类的吗?
至善者善之敌 2011-08-21
  • 打赏
  • 举报
回复
基本是这样的了。。

64,639

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧