0

我有一台服务器在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# 中读取流,以便可以将不同的套接字连接传递给其他应用程序?

4

0 回答 0