Socket.io – 无法加载文件或io未定义
我正在尝试设置一个简单的NodeJS – socket.io Web应用程序。
我已经在我的Raspberry Pi上安装了NodeJS和Socket.io,并且可以毫无问题地启动服务器脚本。
我已经下载了客户端socket.io,我正在加载前端脚本。
我的问题是,每当我尝试连接到我的服务器我的浏览器给我这些错误。
Error: failed to require "socket.io" from "root" ...plete}}});require.register("learnboost-engine.io-client/lib/transports/websocket... socket.io.js (linje 1) ReferenceError: io is not defined var socket = io.connect('http://192.168.0.105:8888');
这是服务器脚本。
var io = require('socket.io').listen(8888); io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); console.log('Running fine');
这是我的前端脚本。
<!--<script src="localhost:8080/socket.io/socket.io.js"></script>--> <script src="/socket.io/socket.io.js"></script> <script> var socket = io.connect('http://192.168.0.105:8888'); socket.on('news', function (data) { console.log(data); socket.emit('my other event', { my: 'data' }); }); </script>
我的Raspberry pi正在托pipenodejs – socket.io,并且在我的主计算机上用Wampserver托pipe网站。
我真的希望有人能帮助我:)在此先感谢。
Socket.io.js由NodeJS服务器托pipe,所以您应该连接到
<script src="192.168.0.105:8888/socket.io/socket.io.js"></script>
和
http://192.168.0.105:8888
是错误的,http意味着你想使用80端口。你应该使用192.168.0.105:8888
来代替。