mirror of
https://github.com/tribufu/sdk-cpp
synced 2025-06-16 14:44:21 +00:00
Add libhv and test http client
This commit is contained in:
46
vendor/libhv/include/hv/WebSocketServer.h
vendored
Normal file
46
vendor/libhv/include/hv/WebSocketServer.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
#ifndef HV_WEBSOCKET_SERVER_H_
|
||||
#define HV_WEBSOCKET_SERVER_H_
|
||||
|
||||
/*
|
||||
* @demo examples/websocket_server_test.cpp
|
||||
*/
|
||||
|
||||
#include "HttpServer.h"
|
||||
#include "WebSocketChannel.h"
|
||||
|
||||
#define websocket_server_t http_server_t
|
||||
#define websocket_server_run http_server_run
|
||||
#define websocket_server_stop http_server_stop
|
||||
|
||||
namespace hv {
|
||||
|
||||
struct WebSocketService {
|
||||
std::function<void(const WebSocketChannelPtr&, const HttpRequestPtr&)> onopen;
|
||||
std::function<void(const WebSocketChannelPtr&, const std::string&)> onmessage;
|
||||
std::function<void(const WebSocketChannelPtr&)> onclose;
|
||||
int ping_interval;
|
||||
|
||||
WebSocketService() : ping_interval(0) {}
|
||||
|
||||
void setPingInterval(int ms) {
|
||||
ping_interval = ms;
|
||||
}
|
||||
};
|
||||
|
||||
class WebSocketServer : public HttpServer {
|
||||
public:
|
||||
WebSocketServer(WebSocketService* service = NULL)
|
||||
: HttpServer()
|
||||
{
|
||||
this->ws = service;
|
||||
}
|
||||
~WebSocketServer() { stop(); }
|
||||
|
||||
void registerWebSocketService(WebSocketService* service) {
|
||||
this->ws = service;
|
||||
}
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // HV_WEBSOCKET_SERVER_H_
|
Reference in New Issue
Block a user