質問: ### 現在、node.jsを使いsocket.ioまたはwebsocketによりクロスドメインの双方向通信を実装したいと考えています。 初心者ながら一通りsocket.ioとwebsocketについて調べたのですが、socket.ioはwebsocketのプロトコルや接続を補完するようなものであると認識しています。 ここで質問なのですが、node.jsで実装する場合にsocket.ioではなくwebsocketを使うメリットは何なのでしょうか。
回答: websocketはプロトコル、socket.ioはライブラリです。 しかし今検索したところサイトによってはsocket.ioをプロトコルと捉えることもあるようです。 socket.ioはwebsocketを含む複数の通信手段を持っているので、websocketが繋がらなかった場合、他の手段で通信を行ってくれます。 上記の点に加え、socket.io自体もメジャーで優秀なライブラリなので、node.jsサーバでリアルタイム通信をしたい場合、大抵は自分でwebsocketを実装するよりsocket.ioを使った方が安定するでしょう。