我在开始使用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 文件时,我收到以下错误:
未捕获的ReferenceError:未定义io
如何实际连接到我的服务器?