我在开始使用 Node.js 时遇到问题。
我创建了一个我知道可以工作的基本服务器,因为如果我http://localhost:5000
在浏览器中导航到我会收到预期的消息。但是,我在使用基本 HTML 页面连接到客户端的此服务器时遇到了麻烦。
我的 Node.js 应用程序如下所示:
var http = require('http');
var socket = require('socket.io');
var port = process.env.PORT || 5000;
var players;
var app = http.createServer(function(request, response) {
response.write('Server listening to port: ' + port);
response.end();
}).listen(port);
var io = socket.listen(app);
function init() {
io.configure(function() {
io.set('transports', [ 'xhr-polling' ]);
io.set('polling duration', 10);
});
io.sockets.on('connection', onSocketConnection);
};
function onSocketConnection(client) {
console.log('New connection');
console.log(client);
};
init();
我的 HTML 页面如下所示(基于https://github.com/mongolab/tractorpush-server/blob/master/index.html):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
</head>
<body>
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('/');
socket.on('all', function(data) {
console.log(data);
});
socket.on('complex', function(data) {
console.log(data);
});
</script>
</body>
</html>
我知道sockets.io.js文件是由 socket.io 自动生成的,但是当我查看我的index.html文件时出现以下错误:
Uncaught ReferenceError: io is not defined
我如何实际连接到我的服务器?