我正在尝试通过 Windows Phone 上的 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);
}
当我发送一个字符串时,这段代码工作得很好。但是,当我用相机预览中的数据替换这个字节数组时,像这样 -
cam.GetPreviewBufferYCbCr(payload);
其中 cam 是正确初始化的 PhotoCamera 对象,会产生以下两个错误并且传输不工作。
System.Net.dll 中出现“System.InvalidCastException”类型的第一次机会异常
System.Net.dll 中出现“System.Net.Sockets.SocketException”类型的第一次机会异常
我测试并确保这不是较大字节数组大小的问题。任何指向正确方向的指针将不胜感激!