WebSocket (Bi-Directional)

電話のようなもの。双方がいつでも好きな時に話せる。チャットやオンラインゲーム用。

WebSocket
サーバーとブラウザを常時接続し、双方向でデータを送り合う技術。チャットやゲームに必須。

Socket.io Example

chat-app.ts
// Server (Node.js)
const io = new Server(3000);
io.on("connection", (socket) => {
socket.on("chat message", (msg) => {
io.emit("chat message", msg); // Broadcast to all
});
});
// Client
const socket = io("http://localhost:3000");
socket.emit("chat message", "Hello!");
socket.on("chat message", (msg) => console.log(msg));
Protocol: HTTPとは別のプロトコル (ws://, wss://) を使う。ハンドシェイク後に通信路が確立される。