C# 如何使用UDP C接收连续图像#

C# 如何使用UDP C接收连续图像#,c#,udp,C#,Udp,我正在尝试通过UDP C#开发一个视频聊天应用程序。我有一个图片框,不断显示用户的网络摄像头并发送到特定端口。但我不知道如何接收图像 我使用的是字节到图像/图像到字节转换器类(通常工作正常),但当我将此代码放入计时器序列中时,会出现此错误 '在数据报套接字上发送的消息大于内部消息缓冲区或某些其他网络限制,或者用于接收数据报的缓冲区小于数据报本身' 这是我的密码: 我在Stackoverflow上见过几个这样的问题,但我没有找到令人满意的答案 我应该改用RTP吗?如果是,怎么做? 提前谢谢我想错误

我正在尝试通过UDP C#开发一个视频聊天应用程序。我有一个图片框,不断显示用户的网络摄像头并发送到特定端口。但我不知道如何接收图像 我使用的是字节到图像/图像到字节转换器类(通常工作正常),但当我将此代码放入计时器序列中时,会出现此错误

'在数据报套接字上发送的消息大于内部消息缓冲区或某些其他网络限制,或者用于接收数据报的缓冲区小于数据报本身' 这是我的密码:

我在Stackoverflow上见过几个这样的问题,但我没有找到令人满意的答案 我应该改用RTP吗?如果是,怎么做?
提前谢谢

我想错误就是这样描述的。包裹的大小是多少,您想发送什么?您需要将您的
sndcam
分块发送。你的客户端有一定的缓冲区大小,所以你需要发送相应数量的数据。这是一个30帧/秒的摄像头模块。但我认为不可能将图像切成碎片并重新组合,或者是吗?图像-只是字节数组,你可以用它们做任何你想做的事情。只是原则是,您的
客户机
有一些缓冲区,您需要将您的数据放入该缓冲区。据我所知,如果我降低相机质量,它将正常工作。谢谢
private void timer1_Tick(object sender, EventArgs e)
        {
            Image bitmap = pictureBox1.Image;
            byte[] sndcam = imageToByteArray(bitmap);

            string Ip = "127.0.0.1";
            int port = 1111;

            IPEndPoint ep = new IPEndPoint(IPAddress.Parse(Ip), port);
            Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

            client.SendTo(sndcam, ep);
        }