確かに我々は、インスタント・メッセージング・サービスを行うかのWebSocketとソケットは確かにこれら二つのことを聞いたときの回転に交換が必要、我々は2つの間の単純な違いについて今日言わなければなりません。
WebSocketのは何ですか
WebSocketのプロトコルは、単一のTCP接続を介して全二重通信です。WebSocketは、サーバーが積極的にクライアントにデータをプッシュすることができ、クライアントとサーバが容易との間でデータのやり取りを可能にします。WebSocket APIでは、ブラウザとHTTPサーバはハンドシェイクを完了する必要があり、あなたは直接2、および双方向のデータ伝送間の永続的な接続を作成することができます。
なぜHTTPはWebSocketのを必要としていますか?
私たちは、HTTPは大きな欠点を持って使用し、通常の状況下では、HTTPはサーバー事業は、事前通知を必要とする場合、あなたはローテーションの訓練を必要とし、クライアントによって起動イニシアチブを取るための唯一の側面です。非効率的なポーリングは、資源の無駄です。エンドWebインスタントメッセージングのニーズに対処するためにのWebSocketが登場。
WebSocketの(2) - なぜ導入のWebSocketプロトコル
互換性
WebSocketは、HTML5標準の最初の部分で、基本的な近代的なブラウザではサポートされている、それが直接使用することができます。それはHTML5の一部であるが、ブラウザの外にも、対応するインプリメンテーションを有しているが。ライブラリSocket.io例えばJavaの、C ++、スウィフト、DATRサポートし 、Pythonのさんws4py、C ++ようにSのWebSocket ++とを。
このようにApache、Nginxは、Tomcatなど主流のWebサーバーコンテナものWebSocketをサポート、ならびにそのようなので、上のwebsocketdやなどのWebSocketサーバー側のフレームワーク。
ソケットは何ですか
Unixのソケット
オペレーティング・システムは、ソケットの概念にも使用されているプロセス間通信のために使用され、多くの場合、ソケットTCP / IPに基づく概念は、両方のオペレーティングシステムに代わって、データの伝送に非常に似ていませんが、それはもはやベースのネットワークプロトコルであるといわれていますしかし、オペレーティングシステム自体は、システムファイル。
ネットワークソケット
ソケットないネットワークプロトコルが、TCP、UDPアプリケーション層の間に抽象化層であり、トランスポート層が間にある抽象層APIの使用のために。HTTP乗用車、包装又は表示データの特定の形式;ソケットは、TCP / IPのカプセル化であるソケットエンジンは、通信ネットワーク能力を提供します。Unixのすべてがファイル哲学的思想があるの下では、ソケットは「 - 読み取り/書き込み - オープンオフ」の一種である接続が確立された後、オープンで「ファイル」を維持しているの実装、サーバとクライアントのモードは、あなたがあなた自身のファイルに書き込むことができますお互いのためのコンテンツや通信の終了時にファイルを閉じて、内容を読み取るためにお互いを読みます。あなたはTCP / IP、ソケットAPIに基づいてサービスを構築したいのであれば、あなたはAPIを公開することができるようになっています。
WebSocketとソケットとの違い
我々は前述のように:
- ソケットインタフェースは、伝送制御層です。ユーザーは、ソケットを介して通信基盤となるTCP / IPプロトコルスイートを動作させることができます。
- WebSocketのは、完全なアプリケーション層のプロトコルです。
- より柔軟なソケットは、使いやすいのWebSocket。
- どちらも、インスタントメッセージングを行うことができます