求C#工程师帮忙看看这个RTP/MJPEG播放器
从国外论坛下了个RTP/MJPEG的播放器。但是编译后执行到_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive,6);
_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse("231.0.0.1")));
_socket.SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.NoChecksum, true); 这一行出错。不知道是什么原因引起的。各位帮忙看看啊。。 --------------------编程问答-------------------- 出错信息呢?
--------------------编程问答-------------------- 提示未处理的socketException。提供了一个无效的参数。 --------------------编程问答-------------------- 这是源代码的出处,编译之前先删掉2个不需要的文件就行了
http://www.codeproject.com/Articles/85763/C-NET-RTP-MJPEG-Player --------------------编程问答-------------------- 先加上try...catch。
再看一下SetSocketOption这个函数的3个参数类型与实际传进去的参数的类型有没有问题。 --------------------编程问答-------------------- Socket 异常了。 --------------------编程问答-------------------- 这个是在前面几行。。参数应该没问题啊。都是系统自带的可选参数啊。
try
{
_socket.Bind(_localpoint);
byte[] IN = new byte[4] { 1, 0, 0, 0 };
byte[] OUT = new byte[4];
int ret_code = _socket.IOControl(IOControlCode.ReceiveAllMulticast, IN, OUT);
ret_code = OUT[0] + OUT[1] + OUT[2] + OUT[3];
//_socket.Blocking = true;
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.MulticastTimeToLive,6);
_socket.SetSocketOption(SocketOptionLevel.IP, SocketOptionName.AddMembership, new MulticastOption(IPAddress.Parse("231.0.0.1")));
_socket.SetSocketOption(SocketOptionLevel.Udp, SocketOptionName.NoChecksum, true);
_packet_thread = new Thread(new ThreadStart(rcv));
_packet_thread.IsBackground = true;
_packet_thread.Start();
return true;
} --------------------编程问答-------------------- 顶上去啊。实在是不知道出了什么问题。。
补充:.NET技术 , C#