質問: socketio.listen( server ); console.log('サーバーとsocketの紐付けに成功したよ!') // リクエストの処理 function doRequest(req, res) { fs.readFile('./chat.html', 'UTF-8',function(err, data) { res.writeHead(200, {'Content-Type': 'text/html'}); res.write(data); res.end(); console.log('htmlファイルの読み込みに成功したよ!') }); }; //ここポイントになるかもしれませんねえ // 接続確立後の通信処理部分を定義 io.sockets.on( 'connection', function( socket ) { // 自分を含む全員宛に送る socket.on( 'msg', function( data ) { // サーバーからクライアントへ メッセージを送り返し sockets.emit( 'msg push', data); }); }); ```
回答: 一つ間違いがあります。 HTML側スクリプトの msg_send() の冒頭部分で、`var Socket = io.connect("http://localhost:1234");` と S を大文字にしていますが、スクリプトのその他の部分では、 `socket` とすべて小文字で書かれています。JavaScriptは case sensitive な言語ですので、大文字小文字はきちんと整合性を保つ必要があります。 コードのほかの部分には、目立つ間違いは無いように思えます(動作確認していないので断言できませんが) ちなみに、これらのコードは socket.io の公式サイトのサンプルを参考にして、少し改造したものと思われますが、違いますか?公式のほうでは Node.js + Express を前提に書かれているという違いがありますが、ほぼ同じ内容のプログラムになっていますので、一度ダウンロードして動作確認とコードレビューをされることをお勧めします。 socket.io公式サイトのチャットアプリサンプル チャットアプリのコード一式 (github)