对于我的项目,我想与Socket.io从应用程序(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;
...
}
服务器(NodeJ)
...
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
服务器输出
控制台显示“ New connexion ...”
对于客户,我使用以下方法: https://github.com/socketio/socket.io-client-cpp
对于服务器:socket.io@2.1.1
一个人有解决方案吗?
谢谢!
答案 0 :(得分:0)
像这样发射:
string someString = "hi there";
message::list someStringMessage(someString);
io.socket()->emit("newString", someStringMessage);