LoginSignup
5
5

More than 5 years have passed since last update.

Node.js Socket.io 基本

Last updated at Posted at 2018-04-02

Socket.ioの基本

初めに

socketは、一つのブラウザにログインした人(ブラウザ)を識別するもの
オブジェクト指向のインスタンスと思って良いと思う。

socketには、様々な便利なメソッドが入っていて
複数人同時の接続をsocketで一人ずつ確実に処理できる。

環境構築

まず作業ディレクトリを作る。

bash
$ mkdir node-test
$ cd node-test

Socket.ioの環境構築は、二つ方法がある。
1.インストールをその場でできるならする。

bash
$ npm install socket.io

2.package.jsを書いてインストール

{
  "name": "node-test",
  "version": "0.0.1",
  "description": "chat server",
  "dependencies": {
    "socket.io": "~0.9.6"
  }
}
bash
$ npm install

イベント処理の考え方

例えばブラウザからhtmlのinputでtextを送る時
「ブラウザ」→「サーバ」にデータが送られる。

イベント送信

「ブラウザ」は、イベントが起きた時にソケットにデータを付与して送信する
そのメソッドがemit()というもの

socket.io
socket.emit('イベント名', データ);

イベント名は、自分でつけていい。
データは、一つでもいいし、Json形式を使って複数のデータも渡せる。

イベント受信

「サーバ」は、指定のイベント名からデータが送られてくるのを待ち続ける。
データが送られてきた時に関数の引数としてデータを受信し、メソッドを動かす

socket.io
socket.on('イベント名', function(引数) {
});

イベントを管理する

socketは、初めからsocket.idというものが振られていて
それぞれのsocketのインスタンスを識別できる
これを利用してリストの識別をsocket.idで識別することで
単体の情報がしっかりと管理できる。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5