6

私は、自分のサーバーからAndroid、iOS、およびデスクトップ(Web)ユーザーになるクライアントにイベントをプッシュするソリューションを探しています。モバイルデバイスとデスクトップデバイスのリアルタイムメッセージングサービス

速度およびそれらのための最も一般的なアプリケーションや簡単なTCPストリームやWebSocketをとの比較を私はパース、アマゾンSNSやGoogleクラウドメッセージングのかなりの数の記事を見てきましたが、それらの非は言及?

私はレイテンシー最大150msのに最高イベント/クライアントあたりの秒バイdirectonaリットルのスループット(イベントあたり¬1kb)を持っている必要があります。

WebSocketをSNS /パース/ GCM対のイベントだけTCPストリームを使用しての欠点は何ですか?

+0

uも、rabbitmqのようなmsg-busベースのサービスを検討するかもしれません。 –

+0

@RobertRowntree誰かがこれらのツールの経験を持っていて、長所/短所を提供できるかどうか疑問に思っていました。 –

+0

Java、PHP、js、net ...のような好みの言語がありますか? – Chriss

答えて

6

プッシュ通知(GCMとのAPN)

PROS:あなたは、クライアントアプリケーションが実行されていない場合でも、デバイスに到達することができます。

CONS:スループットが低い。高遅延

生のTCP

PROS:ハイスループット;低い待ち時間;双方向

CONS:典型的なプロキシやファイアウォールを通過しません。

WebSocketを実行するクライアントアプリケーションを必要と

PROS:ハイスループット;低い待ち時間;双方向。ファイアウォールを通過する

注意:すべてのプロキシがすでにそれらをサポートしているわけではありません。クライアントアプリが追加で

を実行している必要があり、また、HTTPストリーミングHTTPロングポーリングがあります。

3

SignalRを試すことができます。

ASP.NET SignalRは、アプリケーションの私の同僚の

一つにリアルタイム・ウェブの機能を追加することが信じられないほど簡単になりウェブ、窓、アンドロイドのためのこのライブラリを使用しているASP.NET開発者のための新しいライブラリであります、マックなどリアルタイムのメッセージングのために。ここ

2

あなたは、いくつかのベンチマークを見つけることができます:http://blog.arungupta.me/rest-vs-websocket-comparison-benchmarks/

これより技術的な質問は、あまりにも、あなたや他の人を助けることがあります。

これは、TCPソケットときを介して通信するように簡単です:受け入れ答えからWhat is the fundamental difference between WebSockets and pure TCP?

見積もりそのネットワーク上のマシンを制御し、TCP接続を行うのに適したポートを開くことができるため、イントラネットの境界内で作業しています。

インターネットでは、相手側のサーバーと通信しています。彼らは接続のために開いている古いソケットを持つことはほとんどありません。通常は、HTTPの場合はポート80、HTTPSの場合は443など、標準的なプロトコルはほとんどありません。したがって、サーバーと通信するには、これらのポートの1つを使用して接続する必要があります。

関連する問題