私のiOSアプリを統合して、ローカルネットワーク上の開発サーバーにセットアップしたMVC3(フレームワーク4)SignalRプログラムと連携させようとしています。このために作成されたWebサイトは、ネットワーク全体で正常に機能します。
ただし、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)
appDelegateのapplication:didFinishLaunchingWithOptions:関数で接続を設定しています。これが私が接続を設定する方法です:
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とハブ名を使用してみましたが、次のようなconnectionIdとプロトコルバージョンで問題なくネゴシエートします。
negotiation was successful NegotiationResponse: ConnectionId=48a6fcca-429f-4d3e-b374-8f10d6889fe0 Url=/signalr/signalr ProtocolVersion=1.0
これはすべて、iOS5.1の展開ターゲットを持つiOSsdk6のiPadシミュレーターにも含まれています。
これに関するどんな助けも素晴らしいでしょう
乾杯