我正在尝试将客户端应用程序(用 c++ 编写,尽管这不应该有任何影响)连接到使用 express 和 socket.io 编写的 node.js 服务器。
服务器几乎可以归结为:
var express = require('express');
var http = require('http')
var app = express();
var server = http.createServer(app)
var io = require('socket.io').listen(server);
app.use(express.cookieParser());
app.use(express.session({
...
}));
app.use(app.router);
// response handling -------
app.get('/', function(req, res){
console.log('request get /');
});
io.sockets.on('connection', function(socket) {
console.log('sockets.io connection!');
});
// -------
port = 3000
app.listen(port);
console.log('Listening on port: ' + port);
当我启动这个节点时,我尝试了两件事:
- 我尝试连接浏览器。从某种意义上说,它会触发 apt.get('/' ...),但它不会触发 io.sockets.on('connection' ...),这是出乎意料的,让我怀疑我我误解了一些东西。
- 我启动我的 c++ 应用程序并在 tcp 套接字上调用 connect。套接字连接并让我发送数据,但我从来没有得到任何迹象表明节点端发生了某些事情(而且我从来没有得到任何数据)。io.sockets.on('connection' ...) 永远不会被触发,并且不会出现有关格式错误的消息的错误。
所以我的问题是:我是否误解了 sockets.io 的设置或功能?如何将我的应用程序连接到此节点服务器?
谢谢!