2013-09-03 7 views
15

Socket.IOが必要な理由は、どのようなアプリケーションかケースの観点からですか。Socket.IOを使用するメジャーシナリオは何ですか

私はiOSの開発者は通常、我々は、サーバーとの通信にHTTPまたはHTTPSを必要とするオープンソースプロジェクトにsocket.IO-objc

を知ってもらうことになっている、ソケットがリアルタイム通信に到達することを目指して(常にHTTPからのライブ維持する必要があります)

+0

Socket.IOはNodeJSの上にある非常に美しい「定型文」です。使用可能な場合はWebSocketを使用し、利用できない場合はバックアップ方法がいくつかあります。これは、より少ないコードを書くのに役立ちます。これは、すべてのブラウザで利用可能になります。 – Schoening

答えて

25

アプリでリアルタイムが必要な場合は、socket.IOなどのライブラリが必要です。これについてもう少し詳しく説明しましょう。マルチプレイヤーで2人以上のユーザーが同時にゲームをプレイできるゲームを開発していると仮定できます。その場合、多くの理由からHTTPまたはHTTPSコールを行うことはできません。その1つは、パケットサイズが大きく、これらの呼び出しが非常に遅いということです。このようなシナリオでは、ソケットなどのライブラリを使用してサーバーとの間でデータの送受信を行います。ソケットは本当に速く、必要なデータパケットだけを送ることができます。 HTTPプログラミングを使用すると、マルチプレイヤーゲームやリアルタイムでサーバーとやり取りするアプリケーションを作成することはできません。

別の例を挙げてください。チャットアプリケーションで作業していると仮定できます。ユーザーAが何かをタイプしているとき、ユーザーBはAがタイプしていることを知るべきです(facebookメッセンジャーのgtalkに似ています)。その時点でHTTPコールを使用する場合は、遅延のために他人の実際のステータスを見ることができません。私たちが使用できるソケットは、ユーザーAが何かを入力しているときにデバイスが入力するデータパケットを1つだけ送信するソケットです。このデータパケットは、入力しているサーバーに通知してユーザーBに配信されます。このプロセスは、 。データ転送も削減されます。

+3

これはSocket.IOなしでも実行可能であることに注意してください。現代のブラウザはWebSocketをサポートしています。 Socket.IOはこれらを使用し、必要に応じてFlashSocketでフォールバックすることができます。 – Schoening

1

私はsocket.ioを使用してチャットアプリケーションにも取り組んでいます。だから、すべてのものをsocket.ioに置き換えているようだ。これは疑いと好奇心を私にしています。私はsocket.ioのチャットスーツのようなリアルタイムアプリには全く同感です。ただし、HTTPに適した往復の通信(ユーザーログインなど)があります。

-2

Socket.IOは、リアルタイムWebアプリケーション用のJavaScriptライブラリです。これにより、Webクライアントとサーバー間のリアルタイムの双方向通信が可能になります。これは、ブラウザで実行されるクライアント側ライブラリと、node.js用のサーバ側ライブラリの2つの部分から構成されています。どちらのコンポーネントもほとんど同じAPIを持っています。

+4

男、アドバイスを求められた男は、コピー/ペーストを投稿する必要はありません –

関連する問題