c++ - 不向 socket.io nodejs(服务器)发送数据 socket.io c++(客户端)

标签 c++ node.js boost websocket socket.io

对于我的项目,我想使用 Socket.io 从 App (c++) 到 WebServer (NodejS) 进行通信。

我们之间的连接有效,但是当我发出消息时,什么也没有发生 ...

客户端(C++)

int main(int argc, char const *argv[])
{
  sio::client h;
  h.connect("http://x.x.x.x:xxxx");
  string mess = "Bonjour !!!";
  h.socket()->emit("new message", mess); // Nothing is happening
  cout << "Message sended ..." << mess << endl;
  ...
}

服务器(NodeJs)

...
const io = require('socket.io')(server);

io.on('connection', (socket) => {
  console.log("New connexion..."); // It's Work

  socket.on('new message', function (data) { 
    console.log(data); // Never fire
  });
});


server.listen(xxxx, () => {
    console.log(`Server started on port xxxx`);
})

客户端输出

[2018-10-10 07:30:49] [connect] Successful connection
[2018-10-10 07:30:49] [connect] WebSocket Connection x.x.x.x:xxxx v-2 "WebSocket++/0.8.1" /socket.io/?EIO=4&transport=websocket&t=1539156649 101
Message sended ...Bonjour !!!
[2018-10-10 07:30:49] [warning] got non-close frame while closing
[2018-10-10 07:30:49] [warning] got non-close frame while closing
sio closed

服务器输出

Console show "New connexion..."

对于客户,我使用这个: https://github.com/socketio/socket.io-client-cpp

对于服务器:socket.io@2.1.1

有人有解决方案吗?

谢谢!

最佳答案

像这样发出:

string someString = "hi there";
message::list someStringMessage(someString);
io.socket()->emit("newString", someStringMessage);

关于c++ - 不向 socket.io nodejs(服务器)发送数据 socket.io c++(客户端),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52735486/

相关文章:

c# - 如何正确地将长生命周期缓冲区从 C# 发送到 C++

c++ - 我可以在成员函数上使用 boost::enable_if 吗?

c++ - 如何制作解析指针的存档?

garbage-collection - Node.js 和 V8 垃圾回收

javascript - 在 Nodejs 中解析大型 JSON 文件

Javascript 'number' 和 postgres 类型

c++ - 从堆分配时堆栈溢出

c++ - 如何在 C++ 中访问 Apple Events "openFile"事件?

c++ - 将二进制文件内容读取到 std::string 的最佳方式是什么?

c++ - 0x751fc52f异常,代码: 0x71a: , flags=0x1(无法继续执行)(第一次机会)