2012-03-01 8 views
8

私は新製品(広範な聴衆のためのモバイルウェブアプリケーション、特にいくつかのページでリアルタイムチャットが必要です)で使用するためにSignalRテクノロジーを評価しています。モバイルWeb上のSignalR?

非常に基本的なチャットのデモを作成するためにthe guideをフォローしました。 その後、IISにデモを展開し、自分自身とチャットを開始しました。 すべてのクライアントが同じWiFiネットワーク上にありました。

デスクトップブラウザが多かれ少なかれ正常に動作しました。

ただし、SafariはiOS 4.2、IEはWP7.10です。両方とも吸い上げられました。 「投稿」ボタンを押しても何も起こらないことがあります。 発信メッセージがデスクトップのFirefoxに正常に送信されることがありましたが、着信メッセージはありませんでした。

多分私は何か明白な行方不明ですか?たぶん、通常のものの代わりにjquery mobileが必要なのでしょうか?たぶん私はIIS/web.config /を調整するだけで、SignalRは盛り上がり、不機嫌なモバイルインターネットでも完璧に動作するようになるでしょうか?

また、Webサーバーからのシングルホップ内でWiFi上でも動作しないため、SignalRを投げ捨てて、JSONエンドポイントで新しいメッセージをポーリングするためのJavaScriptを記述する必要がありますか?

ありがとうございます!

+1

を追加します。非常にすべての答えに興味があります。 (購読ボタンがないので、コメントを残す必要はありません) – tgmdbm

+1

@tgmdbmあなたはRSSで質問に従うことができます。この質問のRSSフィードは次のとおりです。http://stackoverflow.com/feeds/question/9509124 –

答えて

0

すべてのモバイルブラウザ(Android、Opera Miniなど)がウェブソケットをサポートしているわけではありません。 http://www.hanselman.com/blog/YourUsersDontCareIfYouUseWebSockets.aspx

+7

WebSocketは必要ありません。 AFAIK、デフォルトでは、SignalRは長いポーリングを使用します。 – Soonts

+0

ああ、すみません、あなたが正しいです。 SignalR **は、ブラウザがサポートしている限り、WebSocketを使用できます。それ以外の場合は、長いポーリングを使用します。 – lurkerbelow

6

私はphonegap(つまりSafariブラウザを使用する)とAndroidとIPhoneのSignalRでアプリケーションを開発しています。私が持っていた主な問題は、SignalRがデフォルト設定に接続していなかったため、iOS 6.xでの問題でした。私はそれのための回避策を見つけたと私はそれを説明したhere。それが役に立つと分かったら教えてください。

このコードは、iOSの問題を解決するために、接続をシミュレートし、メッセージをチェックし、切断して5秒待つでしょう。

でjsの

$.connection.hub.start({ transport: 'longPolling' }).done(function (myHubConnection) { }); 

とのApplication_Start中の(追加)私もこの問題に遭遇した

GlobalHost.Configuration.ConnectionTimeout = TimeSpan.FromSeconds(1); 
Microsoft.AspNet.SignalR.Transports.LongPollingTransport.LongPollDelay = 5000; 
RouteTable.Routes.MapHubs(); 
+2

回避策をこちらの記事にもコピーしてください。 –

+0

完了。私はコードを使って投稿を編集しました。 –

+0

乾杯、今は+1に適しています。 :) –

関連する問題