###前提・実現したいこと
CDNを利用せず、ダウンロードしたローカルファイルであるjquery.js,socket.io.jsを使用してソケットを用いたイベントの送受信を行いたい。
###発生している問題・エラーメッセージ
CDN利用して、ソケットを用いたイベントの送受信はできたのだが、
実現したいことはダウンロードしたローカルファイルを利用して、イベント送受信することなので、script srcにダウンロードしたファイルのパスを書き込み、サーバーを立ち上げて、htmlファイルを読んだのだが、jquery.js,socket.io.jsファイルを読み込まない。よって、ソケットを用いたイベントの送受信ができていない。
###該当のソースコード
client.html <!DOCTYPE html> <html> <head> <title>Socket.io実験</title> <script script type="text/javascript" src="/public/javascripts/jquery-1.10.2.min.js"></script> <script script type="text/javascript" src="/public/javascripts/socket.io.js"></script> <script> $(document).ready(function () { var socket= io.connect(); socket.on('greeting', function (data, fn) { console.log('jqueryつながったs'); var answer = confirm(data.message); fn(answer); }); }); </script> </head> <body> <h1>Socket.IO sample code 01</h1> </body> </html>
servar.js var fs = require('fs'); var http = require('http'); var server = http.createServer(); var io = require('socket.io').listen(server); server.on('request' , function (req, res) { fs.readFile('./public/client.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading client.html'); } res.writeHead(200, { 'Content-Type': 'text/html; charset=UTF-8' }); console.log('サーバー接続'); res.end(data); }); }).listen(5000); console.log("server running port 5000"); io.sockets.on('connection', function (socket) { console.log('つながった?socket'); socket.emit('greeting', {message: 'hello, '}, function (data) { console.log('result: ' + data); }); });
###補足情報(ファイルパス)
カレントディレクトリ:C:\Users\admin\Documents\Visual Studio 2015\Projects\socketio\socketio
フォルダ構成
cd
├─node_modules
│ ├─.bin
│ ├─express
| |
│ ├─jade
| |
│ └─socket.io
|
├─obj
│
├─public
│ ├─images
│ ├─javascripts
| | ├─jquery-1.10.2.min.js(jqueryファイル)
| | └─socket.io.js(socket.ioファイル)
| ├─client.html
│ └─stylesheets
├─routes
├─views
└─server.js(サーバー起動ファイル)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/06/20 08:12
2016/06/21 00:13 編集