面向连接的socket通信ServerHost端基类,是服务端的监听socket,实现了这种类型ServerHost端的创建销毁发送接收, 内部使用EuvStreamInf抽象接口作为底层通信接口,实际实现服务端的时候,需要传入继承EuvStreamInf的实例 并且最终的服务端需要继承EuvStmCServerHostBase类,实现其各种虚函数。可参MsgRpcServer的实现
更多...
#include "EuvStmServerBase.hpp"
◆ EuvStmServerHostBase()
| Emx::EuvStmServerHostBase::EuvStmServerHostBase |
( |
EuvStreamInf * |
stm | ) |
|
|
inline |
◆ ~EuvStmServerHostBase()
| virtual Emx::EuvStmServerHostBase::~EuvStmServerHostBase |
( |
| ) |
|
|
inlinevirtual |
◆ Create()
| ErrCodeE Emx::EuvStmServerHostBase::Create |
( |
EuvLoop & |
loop, |
|
|
const char * |
ip, |
|
|
uint16_t |
port, |
|
|
int |
maxClientNum, |
|
|
char * |
buffer, |
|
|
int32_t |
size |
|
) |
| |
- 参数
-
| loop | [in] 需要绑定的loop |
| ip | [in] 需要绑定的本地ip,默认不绑定本地ip |
| port | [in] 需要绑定的本地端口,默认不绑定本地端口 |
| maxClientNum | [in] 监听的最大连接数 |
| buffer | [in] 需要传入一个buffer,用于接收数据 |
| size | [in] buffer的大小 |
- 返回
- ErrCodeE
- 参见
- ErrCodeE
◆ Destroy()
| void Emx::EuvStmServerHostBase::Destroy |
( |
| ) |
|
◆ DisConnectClient()
- 参数
-
| client | [in] accept后的ServerClient客户端 |
◆ OnAllocClient()
- 注解
- 分配的对象内存空间应由子类管理,EuvStmServerHostBase不会对此回调分配的对象内存空间的释放进行管理, 子类可以在OnClientDisConnect回调中或是回调后对EuvStmServerClientBase对象的内存进行回收。 OnAllocClient后的对象有可能并不经历OnClientConnect而直接断开触发OnClientDisConnect
- 返回
- 分配的对象指针
◆ OnClientConnect()
- 参数
-
| client | [in] 客户端指针(由OnAllocClient分配) |
◆ OnClientDisConnect()
- 参数
-
| client | [in] 客户端指针(由OnAllocClient分配) |
◆ OnRecv()
- 参数
-
| client | [in] 客户端指针(由OnAllocClient分配) |
| data | [in] 接收到的数据指针 |
| size | [in] 接收到的数据大小 |