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 オブジェクトである場合、次の 2 つのエラーが生成され、転送が機能しません。
タイプ 'System.InvalidCastException' の初回例外が System.Net.dll で発生しました
タイプ 'System.Net.Sockets.SocketException' の初回例外が System.Net.dll で発生しました
私はこれがより大きなバイト配列サイズの問題ではないことをテストして確認しました。正しい方向へのポインタは大歓迎です!