質問: socketIO.listen(server); // httpサーバーを起動する。 server.listen((process.env.PORT || 3008), function() { console.log((process.env.PORT || 3008) + "でサーバーが起動しました"); }); /** * サーバーにリクエストがあった際に実行される関数 // */ function requestListener(request, response) { response.writeHead(200, { "Content-Type": "text/plain" }); response.write("Hello World"); response.end(); } // サーバーへのアクセスを監視。クライアントからのアクセスがあったらコールバックが実行 io.sockets.on("connection", function(socket) { var roomID; socket.on("from_client", function(msg){ console.log("receive: " + msg); }); }); // 接続エラー io.sockets.on("connect_error", function(socket) { console.log("connect_error"); }); // 接続終了 io.sockets.on("disconnect", function(socket) { socket.emit("disconnectEvent"); console.log("disconnecth"); }); ``` クライアント側 ``` canvas ```
回答: `/socket.io/socket.io.js`は、ファイルとして生成するわけではなく、Node.jsサーバの実行結果として返ってくるだけのものです。 `file://`ではNode.jsのサーバにつながりませんので、「HTMLをNode.jsから配信する」「`/socket.io/socket.io.js`にサーバ名を指定する」などして、正しくNode.jsサーバを指すようにしましょう。