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来代替。

它在这里说

 var socket = io() 

默认连接到主机服务器,这意味着你不必在那里放置任何东西

http://socket.io/get-started/chat/