我正在尝试设置一个简单的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正在托管nodejs - socket.io,该网站托管在我的主计算机上,使用Wampserver。
我真的希望有人可以帮助我:)先谢谢你。
答案 0 :(得分:2)
Socket.io.js由NodeJS服务器托管,因此您应该连接到
<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
代替。
答案 1 :(得分:0)