fastdo  0.5.12
eiennet::ws::WsHttpServer< _ClientCtx > 模板类 参考

WsHTTP服务端 更多...

#include <eiennet_websocket.hpp>

类 eiennet::ws::WsHttpServer< _ClientCtx > 继承关系图:
eiennet::ws::WsHttpServer< _ClientCtx > 的协作图:

Public 类型

using ClientCtxSharedPointer = typename Server< _ClientCtx >::ClientCtxSharedPointer
 
using OpenHandlerFunction = std::function< void(ClientCtxSharedPointer clientCtxPtr) >
 
using MessageHandlerFunction = std::function< void(ClientCtxSharedPointer clientCtxPtr, winux::AnsiString const &data, int messageType) >
 
using CloseHandlerFunction = std::function< void(ClientCtxSharedPointer clientCtxPtr, winux::uint16 errCode, winux::AnsiString const &errStr) >
 
using ErrorHandlerFunction = std::function< void(ClientCtxSharedPointer clientCtxPtr, WebSocketErrorCode ec) >
 
- Public 类型 继承自 eiennet::Server< _ClientCtx >
using ClientCtxSharedPointer = winux::SharedPointer< _ClientCtx >
 
using StartupHandlerFunction = std::function< void(ClientCtxSharedPointer clientCtxPtr) >
 

Public 成员函数

 WsHttpServer (winux::String const &serverIp, winux::ushort port, int threadCount=10, int listenBacklog=10, double durationSec=0.1)
 
void onOpenHandler (OpenHandlerFunction handler)
 
void onMessageHandler (MessageHandlerFunction handler)
 
void onCloseHandler (CloseHandlerFunction handler)
 
void onErrorHandler (ErrorHandlerFunction handler)
 
- Public 成员函数 继承自 eiennet::Server< _ClientCtx >
 Server (ip::EndPoint const &ep, int threadCount=4, int backlog=0, double durationSec=0.1)
 构造函数1 更多...
 
virtual ~Server ()
 
virtual int run ()
 
size_t getClientsCount () const
 
void onStartupHandler (StartupHandlerFunction handler)
 
void removeClient (winux::uint64 clientId)
 

Protected 成员函数

virtual void onStartup (ClientCtxSharedPointer clientCtxPtr) override
 
void _doRecvRequestHeaderTask (ClientCtxSharedPointer clientCtxPtr)
 
void _doRecvRequestBodyTask (ClientCtxSharedPointer clientCtxPtr)
 
void _doRequestTask (ClientCtxSharedPointer clientCtxPtr)
 
void _webProcess (ClientCtxSharedPointer &clientCtxPtr, http::Header const &reqHdr, http::Url const &url, http::Header &rspHdr, std::ostream &rspOut)
 
void _doRecvWebSocketFrameTask (ClientCtxSharedPointer clientCtxPtr)
 
void _doProcessWebSocketFrameTask (ClientCtxSharedPointer clientCtxPtr, bool fin, winux::uint opcode, winux::Buffer &payloadData)
 
virtual void onOpen (ClientCtxSharedPointer clientCtxPtr)
 
virtual void onMessage (ClientCtxSharedPointer clientCtxPtr, winux::AnsiString const &data, int messageType)
 
virtual void onClose (ClientCtxSharedPointer clientCtxPtr, winux::uint16 errCode, winux::AnsiString const &errStr)
 
virtual void onError (ClientCtxSharedPointer clientCtxPtr, WebSocketErrorCode ec)
 
- Protected 成员函数 继承自 eiennet::Server< _ClientCtx >
ClientCtxSharedPointer_addClient (ip::EndPoint const &clientEp, winux::SharedPointer< ip::tcp::Socket > clientSockPtr)
 
virtual void onStartup (ClientCtxSharedPointer clientCtxPtr)
 

Protected 属性

OpenHandlerFunction _openHandler
 
MessageHandlerFunction _messageHandler
 
CloseHandlerFunction _closeHandler
 
ErrorHandlerFunction _errorHandler
 
- Protected 属性 继承自 eiennet::Server< _ClientCtx >
winux::uint64 _cumulativeClientId
 
bool _stop
 
winux::ThreadPool _pool
 
winux::Mutex _mtxServer
 
ip::tcp::Socket _servSock
 
std::map< winux::uint64, ClientCtxSharedPointer_clients
 
StartupHandlerFunction _startupHandler
 

详细描述

template<class _ClientCtx = WsHttpClientCtx>
class eiennet::ws::WsHttpServer< _ClientCtx >

WsHTTP服务端

在文件 eiennet_websocket.hpp324 行定义.

成员类型定义说明

template<class _ClientCtx = WsHttpClientCtx>
using eiennet::ws::WsHttpServer< _ClientCtx >::ClientCtxSharedPointer = typename Server<_ClientCtx>::ClientCtxSharedPointer

在文件 eiennet_websocket.hpp327 行定义.

template<class _ClientCtx = WsHttpClientCtx>
using eiennet::ws::WsHttpServer< _ClientCtx >::CloseHandlerFunction = std::function< void( ClientCtxSharedPointer clientCtxPtr, winux::uint16 errCode, winux::AnsiString const & errStr ) >

在文件 eiennet_websocket.hpp331 行定义.

template<class _ClientCtx = WsHttpClientCtx>
using eiennet::ws::WsHttpServer< _ClientCtx >::ErrorHandlerFunction = std::function< void( ClientCtxSharedPointer clientCtxPtr, WebSocketErrorCode ec ) >

在文件 eiennet_websocket.hpp332 行定义.

template<class _ClientCtx = WsHttpClientCtx>
using eiennet::ws::WsHttpServer< _ClientCtx >::MessageHandlerFunction = std::function< void( ClientCtxSharedPointer clientCtxPtr, winux::AnsiString const & data, int messageType ) >

在文件 eiennet_websocket.hpp330 行定义.

template<class _ClientCtx = WsHttpClientCtx>
using eiennet::ws::WsHttpServer< _ClientCtx >::OpenHandlerFunction = std::function< void( ClientCtxSharedPointer clientCtxPtr ) >

在文件 eiennet_websocket.hpp329 行定义.

构造及析构函数说明

template<class _ClientCtx = WsHttpClientCtx>
eiennet::ws::WsHttpServer< _ClientCtx >::WsHttpServer ( winux::String const &  serverIp,
winux::ushort  port,
int  threadCount = 10,
int  listenBacklog = 10,
double  durationSec = 0.1 
)
inline

在文件 eiennet_websocket.hpp334 行定义.

成员函数说明

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_doProcessWebSocketFrameTask ( ClientCtxSharedPointer  clientCtxPtr,
bool  fin,
winux::uint  opcode,
winux::Buffer payloadData 
)
inlineprotected

在文件 eiennet_websocket.hpp731 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_doRecvRequestBodyTask ( ClientCtxSharedPointer  clientCtxPtr)
inlineprotected

在文件 eiennet_websocket.hpp417 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_doRecvRequestHeaderTask ( ClientCtxSharedPointer  clientCtxPtr)
inlineprotected

在文件 eiennet_websocket.hpp353 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_doRecvWebSocketFrameTask ( ClientCtxSharedPointer  clientCtxPtr)
inlineprotected

在文件 eiennet_websocket.hpp565 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_doRequestTask ( ClientCtxSharedPointer  clientCtxPtr)
inlineprotected

在文件 eiennet_websocket.hpp464 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::_webProcess ( ClientCtxSharedPointer clientCtxPtr,
http::Header const &  reqHdr,
http::Url const &  url,
http::Header rspHdr,
std::ostream &  rspOut 
)
inlineprotected

在文件 eiennet_websocket.hpp528 行定义.

函数调用图:

template<class _ClientCtx = WsHttpClientCtx>
virtual void eiennet::ws::WsHttpServer< _ClientCtx >::onClose ( ClientCtxSharedPointer  clientCtxPtr,
winux::uint16  errCode,
winux::AnsiString const &  errStr 
)
inlineprotectedvirtual

在文件 eiennet_websocket.hpp865 行定义.

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::onCloseHandler ( CloseHandlerFunction  handler)
inline

在文件 eiennet_websocket.hpp341 行定义.

template<class _ClientCtx = WsHttpClientCtx>
virtual void eiennet::ws::WsHttpServer< _ClientCtx >::onError ( ClientCtxSharedPointer  clientCtxPtr,
WebSocketErrorCode  ec 
)
inlineprotectedvirtual

在文件 eiennet_websocket.hpp870 行定义.

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::onErrorHandler ( ErrorHandlerFunction  handler)
inline

在文件 eiennet_websocket.hpp342 行定义.

template<class _ClientCtx = WsHttpClientCtx>
virtual void eiennet::ws::WsHttpServer< _ClientCtx >::onMessage ( ClientCtxSharedPointer  clientCtxPtr,
winux::AnsiString const &  data,
int  messageType 
)
inlineprotectedvirtual

在文件 eiennet_websocket.hpp860 行定义.

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::onMessageHandler ( MessageHandlerFunction  handler)
inline

在文件 eiennet_websocket.hpp340 行定义.

template<class _ClientCtx = WsHttpClientCtx>
virtual void eiennet::ws::WsHttpServer< _ClientCtx >::onOpen ( ClientCtxSharedPointer  clientCtxPtr)
inlineprotectedvirtual

在文件 eiennet_websocket.hpp855 行定义.

template<class _ClientCtx = WsHttpClientCtx>
void eiennet::ws::WsHttpServer< _ClientCtx >::onOpenHandler ( OpenHandlerFunction  handler)
inline

在文件 eiennet_websocket.hpp339 行定义.

template<class _ClientCtx = WsHttpClientCtx>
virtual void eiennet::ws::WsHttpServer< _ClientCtx >::onStartup ( ClientCtxSharedPointer  clientCtxPtr)
inlineoverrideprotectedvirtual

在文件 eiennet_websocket.hpp346 行定义.

函数调用图:

类成员变量说明

template<class _ClientCtx = WsHttpClientCtx>
CloseHandlerFunction eiennet::ws::WsHttpServer< _ClientCtx >::_closeHandler
protected

在文件 eiennet_websocket.hpp877 行定义.

template<class _ClientCtx = WsHttpClientCtx>
ErrorHandlerFunction eiennet::ws::WsHttpServer< _ClientCtx >::_errorHandler
protected

在文件 eiennet_websocket.hpp878 行定义.

template<class _ClientCtx = WsHttpClientCtx>
MessageHandlerFunction eiennet::ws::WsHttpServer< _ClientCtx >::_messageHandler
protected

在文件 eiennet_websocket.hpp876 行定义.

template<class _ClientCtx = WsHttpClientCtx>
OpenHandlerFunction eiennet::ws::WsHttpServer< _ClientCtx >::_openHandler
protected

在文件 eiennet_websocket.hpp875 行定义.


该类的文档由以下文件生成: