【发布时间】:2016-03-10 00:45:47
【问题描述】:
我正在用 C 语言开发一个 SIP 解析器(仅限客户端),我有疑问,我是否需要在双 nat 上绑定一个具有特定端口 (5060) 的套接字?我确定它在服务器端非常重要,但我不确定客户端
【问题讨论】:
我正在用 C 语言开发一个 SIP 解析器(仅限客户端),我有疑问,我是否需要在双 nat 上绑定一个具有特定端口 (5060) 的套接字?我确定它在服务器端非常重要,但我不确定客户端
【问题讨论】:
无论 NAT 类型如何,您都不必在客户端使用端口 5060。如果您只是选择一个随机端口,则没有任何缺点。唯一的建议是,一旦你选择了一个端口,就在会话中保留它,以帮助 NAT 在某些情况下绕过一点,并且不会因各种绑定而溢出 NAT。
即使在服务器端,您也可以使用任何端口,但有一个很大的缺点:如果您不使用标准的 5060 端口,用户还需要输入端口部分作为服务器地址 (yourdomain:port)。
像 http 一样考虑它。在 Web 服务器上,标准端口是 80。但是,没有一个客户端(Web 浏览器)在客户端使用端口 80。
【讨论】: