ple*_*set 1 c# sockets rtp rtsp
我正在尝试使用Managed Media Aggregation C#库(http://net7mma.codeplex.com)来处理来自Freebox机顶盒的RTSP/RTP流.
虽然lib可以正常使用示例RTSP提要,但是当使用来自我的机顶盒的提要时,RTP侦听器套接字(一个简单的UDP套接字侦听特定端口上的每个收入)会抛出SocketException:ConnectionReset,当然没有数据接收时显示(数据显示在Wireshark中).
通过SocketIO招抑制E_CONNRESET没有多少,仍然没有数据插座到来.
会导致这种行为的原因是什么?
(如果需要,我可以提供源代码或Wireshark跟踪)
Microsoft解释了SIO_UDP_CONNRESET的真正含义:
SIO_UDP_CONNRESET(操作码设置:I,T == 3)
Run Code Online (Sandbox Code Playgroud)Windows XP: Controls whether UDP PORT_UNREACHABLE messages are reported. - Set to TRUE to enable reporting. - Set to FALSE to disable reporting.
问题实际上不是连接重置而是可达性.
MSDN解释错误WSAECONNRESET:
WSAECONNRESET
虚拟电路由远程端执行硬关闭或中止关闭重置.应用程序应关闭套接字; 它不再可用.在UDP数据报套接字上,此错误表示先前的发送操作导致ICMP端口无法访问消息.