在本地套接字建立连接后等待特定数据包

时间:2014-05-27 08:41:38

标签: c++ sockets websocket localhost

我目前正在开发一个使用WebSockets与浏览器通信的C ++应用程序。连接只是本地连接,不会有任何非本地套接字。

目前我的C ++代码看起来像这样(仅作为示例):

while (true) {
    WebSocket *socket = server->accept () ;
    socket->read (buffer, 256) ;
}

我的javascript代码:

var socket = new WebSocket ("ws://localhost:4564") ;
socket.onopen = function () {
    socket.send("Hello my name is Holt!");
} ;

正如您所看到的,我正在等待一旦打开连接就应该发送的数据包。所以我有两个问题:

  • 首先,有没有办法直接在连接中发送这些信息? (我想不,所以这就是为什么我的第二个问题来了......)?
  • 其次,知道连接是本地的,服务器可能接受套接字而不能在之后检索数据包吗?

要添加更多信息,当前的C ++应用程序基于Qt 5.3和QtWebSockets模块,javascript代码是Google Chrome扩展程序,可在特定网站上运行脚本。

谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

  1. 在客户端和服务器之间建立websocket连接后,在客户端中,当连接处于活动状态时,如果要将数据发送到服务器,可以调用socket.send()

  2. 即使连接本地,服务器仍然需要等待和接收数据,这是一个完整的TCP / IP数据传输过程。