jjzjj

ReceiveFrom

全部标签

c++ - 窗口 C++ : how to timeout receiveFrom function in a udp based conversation

我正在尝试在UDP之上创建可靠的服务。如果没有数据包到达,我需要超时windowc++的receiveFrom函数在指定的时间。在Java中,我这样做DatagramSocket.setSoTimeout但我不知道如何在WindowsC++中实现这一点。谢谢 最佳答案 看看setsockopt()特别是SO_RCVTIMEO。 关于c++-窗口C++:howtotimeoutreceiveFromfunctioninaudpbasedconversation,我们在StackOverfl

C# UDP Socket ReceiveFrom 远程主机强迫关闭了一个现有的连接。

(经过反复研究,下述情况的原因终于搞清楚了,是"ICMPportunreachable"的问题,即:若向一个没有相应UDP监听端口的本机地址(比如127.0.0.1)发送UDP数据包,会回复ICMPportunreachable包,而这个包会被C#的UDPSocketReceiveFrom函数得到,并报错为“远程主机强迫关闭了一个现有连接”!)(而为什么向存在的另一个ip(另一台主机)发送不会报错?因为防火墙!win10的防火墙把外部回复的ICMPportunreachable给屏蔽掉了。经实验,把防火墙关掉后,就会出现上述报错了。)(而为什么向一个不存在的ip地址发送不会报错?因为主机不存在