- WebSocketはクライアントとサーバーの間でTCPコネクションを張りっぱなしにして通信を行う為、Blocking I/Oを持つWebサーバとは相性が悪い
- Blocking I/Oを持つサーバープロセスは一度に1つのクライアントとしかコネクションを張れない為、WebSocketを使いたければクライアントの数だけサーバープロセスが必要になってしまう
- そういった状況を避ける為に、WebSocketを利用する場合には通常Non Blocking I/Oを持つサーバーが使われる
- WebSocketの文脈で一番有名なのはNode.jsだと思うが、他にも例えばrubyであればThinやRainbows!などのappサーバーが利用出来る
- WebSocketに対応する為のライブラリとしては、socket.ioやwebsocket-railsなんかが有名