我遇到了一个很大的问题,并且一直在寻找解决方案已有2个月了,但是没有运气。我已将其提交为错误(https://bugzilla.xamarin.com/show_bug.cgi?id=4910),但希望这里的某人可以阐明问题的原因或提出解决方法。
简而言之,遇到错误:
发生的情况是.NET套接字上的数据传输变得不稳定且太慢而无法使用。我已经在不同的设备上执行了许多测试(请参阅下面的链接),并且它会影响所有这些设备(iPad 3受影响最小)。我已经在iPhone和Windows PC之间对其进行了测试,但仍然会发生。 MonoTouch的GameKit代码以某种方式影响了Socket代码。
从电子表格中可以看到,速度从几毫秒下降到永远发送1 MB到几分钟。
一旦将GameKit.GKSession设置为null,套接字上任何备份的数据都将再次自由流动,并且套接字将再次正常运行。
示例Windows和iOS/MonoTouch应用演示了问题:https://dl.dropbox.com/u/8617393/SocketBug/SocketBug.zip
跨不同设备的测试结果(PDF电子表格):
https://dl.dropbox.com/u/8617393/SocketBug/SocketBugTestResults.pdf
最佳答案
即使苹果决定规避它,这个问题似乎也很难解决:http://developer.apple.com/library/ios/#qa/qa1753/_index.html#//apple_ref/doc/uid/DTS40011315
显露的一句话是:“进行此更改是为了减少对Wi-Fi的干扰。”