UDP之间传送数据时,如果有一方是内网,
还能双方之间进行通讯吗?
我只知道内网能向外网的机器发送数据时,
只要向该机器的IP和软件监听的端口发送就OK了。
当外网对内网进行发送的时候,
不知道向对方的什么端口发送。
而听说QQ是用UDP传输的。它又是怎么能做到的呢?
即使双方都是内网。也能正常传输!
还能双方之间进行通讯吗?
我只知道内网能向外网的机器发送数据时,
只要向该机器的IP和软件监听的端口发送就OK了。
当外网对内网进行发送的时候,
不知道向对方的什么端口发送。
而听说QQ是用UDP传输的。它又是怎么能做到的呢?
即使双方都是内网。也能正常传输!
如果外网先找内网是找不到的,除非你在路由器上做了端口映射,就可以实现外网直接找内网了;
QQ,是通过第三方服务告知实现的,每个内网的客户端登录时,先访问一个外网的固定服务(也就是qq的服务器),qq服务器告知双方彼此使用的端口,这样双方就可以通信了。
路由器上网,是因为路由器做了nat转换,这样每一个内网计算机发出的信息,路由器会通过不同的端口来区分,这样路由器收到外网的数据包就可以根据数据包中的端口,来将数据转发到不通的电脑。
这个应该很难实现吧?
就算我说的这两个程序同时存在着TCP连接.
可我还是不懂如何把内网的端口告诉外网的那台机器,
如果懂得这个方法,就可能用UDP向内网的机器发送数据了.
因为我要求的是速度,所以可以先建立TCP连接,
要传送数据时只想用UDP.