socket.io サーバーを作成するには、socket.io を使用します。ただし、このサーバーは、すでに作成されている http サーバーに依存します。
http サーバーが実行されたら、listen メソッドを使用して、socket.io サーバーを http サーバーに接続します。
ソケットは、サーバーに基づいて作成されたsocket.ioサーバーです。
クライアントがサーバーとの接続を確立すると、socket.io サービスの接続イベントがトリガーされます。
コールバック関数のソケット パラメータは、サーバーとクライアント間の接続を確立するために使用されるソケット ポート オブジェクトです。
クライアントから送信されたメッセージを受信すると、ソケットポートオブジェクトのメッセージイベントが発行されます。
コールバック関数のパラメータは、クライアントによって送信されたメッセージです。
socket.send(msg) を使用して、クライアントにメッセージを送信できます。
サーバーとクライアント間の接続が切断されると、切断イベントがトリガーされます。
このコールバック関数はパラメータを受け取りません。
サーバー側のserver.jsコード:
クライアントのindex.htmlコードを作成します:
このコード:/socket.io/socket.io.js はサーバー側のソケット.io クラス ライブラリによって提供され、クライアント側に実際にソケット.io.js ファイルを配置する必要はありません。
スクリプト ファイルでは、まず io.connect() メソッドを使用してサーバー側のソケット.io サーバーに接続します。
このメソッドは、サーバーとの接続を確立するクライアント ソケット ポート オブジェクトを返します。
サーバーによって送信されたメッセージが受信されると、クライアントのソケット ポート オブジェクトのメッセージ イベントがトリガーされます。
クライアントのソケット オブジェクトの send() メソッドを使用して、サーバーにデータを送信することもできます。
サーバーが切断されると、クライアントのソケット ポート オブジェクトの切断イベントがトリガーされます。
このコールバック関数はパラメータを使用しません。
注:
socket.io ではクライアントとサーバーが同じ API を共有するため、クライアントのメッセージ メカニズムはサーバーのメッセージ処理メカニズムと完全に一致しています。
実行後の結果:
ブラウザを閉じると、サーバーとの接続が切断されます。このとき、サーバーは切断イベントをトリガーし、クライアントは切断されます。