C++socket编程怎么实现跨网段的通讯,不局限在局域网内。像QQ好友通讯那样,需要用到一些什么样的技术?

如题所述

QQ好友的文字消息 是尝试udp打洞实现的,技术难度有点难,简单的方式就是通过中转服务器实现 比如视音频都是通过中转服务器实现的,有另外一种方式 就是通过ip组播的技术,WSARecvFrom用这个函数得到发送数据方的ip地址,然后通过套接字通信,不过ip组播技术,容易引发风暴,所以大多数路由器不支持多播或者被屏蔽了.希望能帮到你,你可以通过打洞或者中转服务器两方面去考虑下。个人经验 中转服务器
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-10-21
这个有不少论文可用。
在非NAT状态下:
1.可以直连。
2.不可直连时,如果是在防火墙后的公有IP,那么需要中间服务器进行协商。
NAT中:
1.在不同私有网段(10.*、192.168.*)等可以使用公网服务器转发。
2.NAT穿透(UDP/TCP),STUN等协议(甚至利用upnp发现协议等)本回答被提问者和网友采纳
第2个回答  2018-04-04
请先把网络通讯的基础只是学好,特别是NAT部分。
第3个回答  2013-08-21
自己买本书吧 windows网络编程

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网