websocket是怎样实现NAT穿透的

一般C/S的p2p应用都需要进行诸如UDP打洞的NAT穿透才能实现外网和内网的直接通信,那么websocket是怎么实现nat穿透的,我发现在不同外网的内网使用websocket只需要提供内网主机地址和端口就可以通信,难道它自动的封装好了nat穿透的功能?

阅读 12.6k
2 个回答

打洞针对的是udp协议,websocket是基于tcp的,本来就是双向的,不需要打洞。

webSocket 位于是应用层,NAT 位于网络层,对于 webSocket 来说,NAT 是透明的,webSocket 只需要封装好对应的数据包就完成工作了,至于 NAT 怎么改写数据帧中的地址,webSocket 完全不需要知道,何来 webSocket 封装 NAT 一说?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进