一般C/S的p2p应用都需要进行诸如UDP打洞的NAT穿透才能实现外网和内网的直接通信,那么websocket是怎么实现nat穿透的,我发现在不同外网的内网使用websocket只需要提供内网主机地址和端口就可以通信,难道它自动的封装好了nat穿透的功能?
一般C/S的p2p应用都需要进行诸如UDP打洞的NAT穿透才能实现外网和内网的直接通信,那么websocket是怎么实现nat穿透的,我发现在不同外网的内网使用websocket只需要提供内网主机地址和端口就可以通信,难道它自动的封装好了nat穿透的功能?
webSocket 位于是应用层,NAT 位于网络层,对于 webSocket 来说,NAT 是透明的,webSocket 只需要封装好对应的数据包就完成工作了,至于 NAT 怎么改写数据帧中的地址,webSocket 完全不需要知道,何来 webSocket 封装 NAT 一说?
1 回答642 阅读✓ 已解决
1 回答799 阅读
584 阅读
打洞针对的是udp协议,websocket是基于tcp的,本来就是双向的,不需要打洞。