Eli*_*Eli 2 networking udp network-programming ports
所以现在我只为我的客户端使用TCP - 它们连接到服务器,打开套接字并自由获取数据包.但是如果我决定在我的游戏中使用UDP呢?他们会不得不打开港口?例如,如果他们使用常规WiFi,我可以在没有开放端口问题的情况下将UDP发送到客户端吗?
谢谢.
TCP和UDP只是传输层实现的两个例子.它们都使用术语"端口"来确定哪个应用程序应该接收传入数据包,但它们可以通过路由器/交换机/防火墙/等以不同方式路由/过滤.
所以答案是否定的.打开端口会遇到类似的问题.除了'TCP端口xxx应该打开'之外,您必须要求'UDP端口xxx应该打开'.
在大多数家庭网络中,防火墙规则允许将数据包(请求)发送到任何远程端口(例如,在您的服务器上,应该打开此端口).当这样的数据包通过路由器时 - 它会创建临时规则以允许答案返回到请求数据包的本地端口.
所以,正常情况是这样的:
5.5.5.5.可以说它有源UDP端口55555,源IP地址5.5.5.5和目标端口8888.5.5.5.5到UDP端口的数据包55555.8888因此允许数据包进入.5.5.5.5和UDP端口创建数据包55555.企业计算机和路由器通常更具限制性以确保安全性,因此如果您的用户(IP 5.5.5.5)位于企业网络中,第二点可能会限制数据包.
它非常简化,因为实际上几乎总是像NAT和规则这样的东西更复杂......但总的来说它给出了内部如何工作的想法.
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |