gpt4 book ai didi

c++ - 使用 socket.io 将应用程序连接到 Node 服务器

转载 作者:太空宇宙 更新时间:2023-11-04 12:05:45 26 4
gpt4 key购买 nike

我正在尝试将客户端应用程序(用 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);

当我启动这个 Node 时,我尝试了两件事:

  1. 我尝试连接浏览器。这在某种意义上是有效的,它会触发 apt.get('/' ...),但它不会触发 io.sockets.on('connection' ...) 这是出乎意料的,让我怀疑我'我误解了什么。
  2. 我启动我的 C++ 应用程序并在 TCP 套接字上调用连接。套接字连接并让我发送数据,但我从来没有得到任何迹象表明 Node 端发生了某些事情(而且我从来没有得到任何数据)。 io.sockets.on('connection' ...) 永远不会触发,也不会出现有关格式错误的消息的错误。

所以我的问题是:我是否误解了 sockets.io 的设置或功能?如何将我的应用程序连接到此 Node 服务器?

谢谢!

最佳答案

首先,您是否在客户端包含模块特定的 socket.io 库?您是否连接到正确的套接字/端点?

io.connect('http://localhost');

对于 native 应用程序,您可以尝试使用已经实现的 Socket.IO-modules for C++ .

后者使用了 Boost。


如果我理解有误,请通过在新的连接试验中转储内部状态来发布一些调试信息。

关于c++ - 使用 socket.io 将应用程序连接到 Node 服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203091/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com