我目前正在开发一个使用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代码是一个谷歌Chrome扩展,将运行特定网站上的脚本。
谢谢你的帮助!
-
在客户端和服务器之间建立websocket连接后,在客户端中,当连接处于活动状态时,当你想向服务器发送数据时,可以调用
socket.send()
。 -
即使连接本地,服务器仍然需要等待和接收数据,这是一个完整的TCP/IP数据传输过程。