当前位置:  开发笔记 > 运维 > 正文

通过UDP接收响应

如何解决《通过UDP接收响应》经验,为你挑选了1个好方法。

我看到应用程序通过UDP将数据包发送到某个端口上的IP并接收响应.响应到哪个端口?(顺便说一下,如果没有端口转发到我的电脑,路由器怎么知道响应是针对我的电脑的呢?)

问候,Neo_b



1> Jed Smith..:

响应分配的端口取决于应用程序.UDP是完全无状态的,因此在触发数据包之后,应用程序可以预期响应的唯一方法是它知道另一端将发送一个.根据UDP应用程序的不同,为了简单起见,我希望响应会出现在同一个端口上 - 对于TCP这样的协议来说并非如此,因为TCP具有故意随机(和高)的源端口.

为了回答你的第二个问题,许多路由器,甚至廉价的家用路由器,都进行状态包检测(SPI).这样的事情可能会发生,但如果我要离开,我就会被纠正:

[设置与客户端,路由器,Internet,服务器的阶段.]

    客户端发出UDP数据包.

    路由器将UDP数据包传递到Internet.

    路由器记住客户端向服务器发送了UDP数据包,并在其内存中建立了映射.

    服务器可能在同一端口上发送UDP数据包.

    路由器接收数据包,并检查映射以找到最近与服务器通信的客户端.

    Router将数据包传递给客户端.

我想,这是如何实现的,特定于路由器,但这是我对其工作原理的理解.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有