我一直想让Udp套接字在Windows Phone 7(Mango)上正常工作。首先我遇到了这个问题udp async receive,现在我发现了它,我看到一种奇怪的行为,我通过套接字发送的数据的结尾都是零。
起初,我认为有一个奇怪的大小帽。我的所有数据包都是用户1380字节。我看到由于某种原因,在〜字节1220之后它全部为零,但根据套接字,我仍然接收所有~1380字节。我将大小与我的服务器应用程序进行了匹配,并且我收到了正确的字节数。所以我在连接的两边打印出字节,并在最后200字节左右的大部分时间内看到了这个问题。
所以我将数据包数据的大小减少到大约1200字节,我仍然看到了这个问题。我甚至将它减少到1000字节仍然!
有什么想法吗?
更新 - 我做了一些测试,似乎最后144个字节是FUBAR。有时他们是零,有时他们是垃圾。认为这是一个错误?
答案 0 :(得分:0)
您需要检查异步操作中传输的字节数。检查SocketAsyncEventArgs.BytesTransferred
以查看缓冲区中有多少字节实际有效。
答案 1 :(得分:0)
抱歉,我的代码中有一个错误,我使用了一个数组,覆盖了我自己的数据。