【发布时间】:2012-08-30 18:20:02
【问题描述】:
我正在尝试将客户端应用程序(用 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 的设置或功能?如何将我的应用程序连接到此节点服务器?
谢谢!
【问题讨论】:
标签: c++ node.js express socket.io