我有一台服务器在 127.0.0.1:8554/nurv
上运行服务RTSP流媒体视频内容我现在正在尝试编写一个代理,该代理将从此位置读取流并通过套接字连接将其传递给另一个应用程序。
当我创建一个侦听 127.0.0.1 和端口 8554 的套接字连接时,我没有收到任何输入。 (我期待一些传入的UDP数据包,其中一些包含“nurv”路径)。我在netcat中尝试了相同的操作,并且在不接收任何输入的情况下继续监听。然而,当我从VLC访问 rtsp://127.0.0.1:8554 / nurv 时,会显示内容 - 所以它显然就在那里。
我用来尝试接收流的当前C#代码如下:
IPEndPoint m_listenEp = new IPEndPoint(IPAddress.Any, 8554);
Socket m_UdpListenSocket = new Socket(m_listenEp.Address.AddressFamily, SocketType.Dgram, ProtocolType.Udp);
m_UdpListenSocket.Bind(m_listenEp);
while (true)
{
if (m_UdpListenSocket.Available > 0)
{
Console.WriteLine("Data available");
...
}
}
在netcat中,当我运行 nc 127.0.0.1 8554 时,它只是继续听,似乎在等待响应。我没有看到任何输出。我不知道这与内容是否在 / nurv 路径中提供这一事实有什么关系?
这可能是一个非常新手的问题,突出了我对网络的理解上的一个缺点,但为什么在收听指定位置时我没有看到任何输入?我怎样才能在C#中读取流,以便我可以通过不同的套接字连接传递到另一个应用程序?