使用websocketpp库连接到c++;websocket服务器 我在Ubuntu工作,我在C++中编写了一个服务器,使用WebStuts++库,它对于从浏览器访问的WebSutoCub连接非常有效(我在那里使用JavaScript)。
现在我想做一些性能测试,并连接许多自动“假”客户端 为此,我想编写一个可以多次启动并连接到该服务器的程序。为此,我尝试了以下代码:使用websocketpp库连接到c++;websocket服务器 我在Ubuntu工作,我在C++中编写了一个服务器,使用WebStuts++库,它对于从浏览器访问的WebSutoCub连接非常有效(我在那里使用JavaScript)。,c++,websocket++,C++,Websocket++,现在我想做一些性能测试,并连接许多自动“假”客户端 为此,我想编写一个可以多次启动并连接到该服务器的程序。为此,我尝试了以下代码: #include "websocketpp/src/roles/client.hpp" #include "websocketpp/src/websocketpp.hpp" #include <boost/asio.hpp> #include <boost/bind.hpp> #include <boost/thread.hpp>
#include "websocketpp/src/roles/client.hpp"
#include "websocketpp/src/websocketpp.hpp"
#include <boost/asio.hpp>
#include <boost/bind.hpp>
#include <boost/thread.hpp>
#include "FakeClient.h"
using boost::asio::ip::tcp;
using websocketpp::client;
FakeClient::FakeClient()
{
thisPointer = boost::shared_ptr<FakeClient>(this);
client endpoint(thisPointer);
endpoint.alog().unset_level(websocketpp::log::alevel::ALL);
endpoint.elog().unset_level(websocketpp::log::elevel::ALL);
endpoint.elog().set_level(websocketpp::log::elevel::RERROR);
endpoint.elog().set_level(websocketpp::log::elevel::FATAL);
endpoint.connect("ws://localhost:9001/");
boost::thread t(&FakeClient::run, *this);
t.join();
}
void FakeClient::run()
{
while(true)
{
// send stuff here
usleep(100);
}
}
但是,当服务器未启动时,不会出现错误消息,因此肯定会发生某种连接。但我不知道我做错了什么。甚至可以通过websocket++库轻松连接2个二进制程序吗
为了获得最佳的性能测试结果,我想WebSocket应该用于服务器和假客户端之间的通信
谢谢你的帮助
KoonschiWebSocket++作者在这里。WebSocket++绝对能够与自己对话。我创建了一些示例来演示如何做到这一点。请看以下两个(注意:这些示例使用了库的最新0.3.x版本) 遥测客户端:此客户端连接到指定的WebSocket服务器,并每秒发送一次消息。 打印服务器:此服务器侦听连接并打印收到的任何消息。
您在http exchange上窥探过吗?将是有用的WebSocket确实支持二进制作为“完全支持:RFC6455”尝试增加您的配置中的超时,因为服务器可能对您有用,测试服务器/客户端
2013-04-23T16:00:02 [2] fail_on_expire timer expired with message: Timeout on WebSocket handshake