Express と socket.io を使用して記述された node.js サーバーに、クライアント側アプリケーション (C++ で記述されていますが、影響はありません) を接続しようとしています。
サーバーは次のように要約されます。
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);
このノードを起動すると、次の 2 つのことを試します。
- ブラウザで接続してみます。これは、apt.get('/' ...) をトリガーするという意味で機能しますが、予期しない io.sockets.on('connection' ...) をトリガーしません。何かを誤解している。
- C++ アプリケーションを起動し、tcp ソケットで connect を呼び出します。ソケットが接続され、データを送信できるようになりますが、ノード側で何かが発生したことを示す兆候はまったくありません (また、データが返されることはありません)。io.sockets.on('connection' ...) は起動されず、不正なメッセージに関するエラーは発生しません。
私の質問は、sockets.io のセットアップまたは機能を誤解していませんか? アプリケーションをこのノード サーバーに接続するにはどうすればよいですか?
ありがとう!