我正在尝试通过Windows手机上的UDP协议传输数据。这是代码 -
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
if (_socket != null)
{
SocketAsyncEventArgs socketEventArg = new SocketAsyncEventArgs();
socketEventArg.RemoteEndPoint = new DnsEndPoint("CompName", 11000);
byte[] payload = Encoding.UTF8.GetBytes("String Payload");
socketEventArg.SetBuffer(newtest, 0, newtest.Length);
_socket.SendToAsync(socketEventArg);
}
当我发送字符串时,此代码工作正常。但是,当我用Camera Preview中的数据替换这个字节数组时,就像这样 -
cam.GetPreviewBufferYCbCr(payload);
如果cam是正确初始化的PhotoCamera对象,则会生成以下两个错误,并且传输不起作用。
System.Net.dll中出现'System.InvalidCastException'类型的第一次机会异常
System.Net.dll中出现'System.Net.Sockets.SocketException'类型的第一次机会异常
我测试过并确保这对于较大的字节数组大小没有问题。任何指向正确方向的人都将不胜感激!