我遇到了一个相当大的问题,并试图找到一个解决方案2个月,现在没有运气。我已经提交它作为一个错误,(https://bugzilla.xamarin.com/show_bug.cgi?id=4910),但希望也许这里的某个人能够阐明问题的原因,或者提出解决方法。同时使用套接字和GameKit。激烈的插槽速度降低
概括地说,遇到错误:
- 创建两个设备
- 创建和至少一个设备上初始化一个GameKit.GKSession对象之间的基本的.Net套接字连接。
什么发生在.NET套接字上的数据传输变得不稳定和太慢,无法使用。我已经在不同的设备上执行过很多测试(请参阅下面的链接),它会影响所有设备(iPad 3影响最小)。我已经在iPhone和Windows PC之间对它进行了测试,但它仍然存在。 MonoTouch的GameKit代码在某种程度上影响了Socket代码。 正如您从电子表格中看到的那样,速度从几毫秒下降到几分钟就可以发送到永远。 只要将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
你确定这是MonoTouch,而不是GameKit本身? – jonathanpeppers 2012-07-08 14:40:08
我真的不知道。他们对我来说都是黑箱子。两者之间有一些冲突。我在互联网上搜索了Objective C中与GameKit有类似问题的其他人,但没有发现任何东西。 :-( – Dermot 2012-07-08 23:27:13