我正在尝试将我的 iOS 应用程序集成到我们在本地网络上的开发服务器上设置的 MVC3(框架 4)SignalR 程序。为此创建的网站在我们的网络中运行良好。
但是,当尝试使用 SignalR iOS 客户端时,会出现以下错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Incompatible Protocol Version'
在 SRConnection.m 中使用了一些 NSLog() 后,我发现当应用程序协商成功但没有获得 connectionId 或协议版本时,这些返回 null
negotiation was successful NegotiationResponse: ConnectionId=(null) Url=/signalr/signalr ProtocolVersion=(null)
我正在应用程序中设置连接:didFinishLaunchingWithOptions:appDelegate 的功能。这就是我设置连接的方式:
SRHubConnection *connection = [SRHubConnection connectionWithURL:
@"http://mark-dev"];
myHub = [connection createProxy:@"ChatHub"];
[connection start];
我还查看了服务器上的连接日志。它正在接收请求并每次返回状态码 200..
我为此使用的连接代码已关闭http://chrisrisner.com/iOS-and-Windows-Azure-Communication-using-SignalR ..
我尝试在示例中使用 url 和 hub 名称,并且可以与 connectionId 和协议版本协商,如下所示:
negotiation was successful NegotiationResponse: ConnectionId=48a6fcca-429f-4d3e-b374-8f10d6889fe0 Url=/signalr/signalr ProtocolVersion=1.0
这也在 iOS sdk6 上的 iPad Simulator 中,部署目标为 iOS 5.1
对此的任何帮助都会很棒
干杯