Ai
1 Star 9 Fork 9

John Yet/rtsp_proxy_server

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
rtsp_proxy_server.h 1.53 KB
一键复制 编辑 原始数据 按行查看 历史
learnhow 提交于 2020-07-21 11:31 +08:00 . 初始化第一次提交
#ifndef RTSP_RPROXY_SERVER_H
#define RTSP_RPROXY_SERVER_H
#ifdef _WIN32
#define evutil_socket_t intptr_t
#else
#define evutil_socket_t int
#endif
/**
* @brief 代理服务
* @details 用来代理所有摄像头的rtsp地址并等待播放端连接
*/
class RTSPProxyServer
{
public:
static RTSPProxyServer* NewCreate(unsigned short listener_port);
/**
* @brief Connected 服务端连接回调
* @param listen
* @param sock 客户端网络套接字
* @param addr
* @param len
* @param ctx 回调参数
*/
static void Connected(struct evconnlistener *listen, evutil_socket_t sock, struct sockaddr *addr, int len, void *ctx);
/**
* @brief Init 服务初始化
* @return
*/
bool Init();
/**
* @brief Connect 开始监听
*/
void Connect();
bool exit_loop() const;
void set_exit_loop(bool is_loop);
/**
* @brief ActionLoop 循环动作,在事件循环内部执行
*/
virtual void ActionLoop();
/**
* @brief ActionInit 继承对象自己实现需要初始化的方法
*/
virtual bool ActionInit();
/**
* @brief ActionFree 继承对象实现在退出事件循环时释放资源
*/
virtual void ActionFree();
virtual ~RTSPProxyServer();
private:
RTSPProxyServer(unsigned short listener_port);
bool exit_loop_;
unsigned short listener_port_;
struct event_base *event_base_ = nullptr;
struct evconnlistener *conn_listener_ = nullptr;
int backlog_;
};
#endif // RTSP_RPROXY_SERVER_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/learnhow/rtsp_proxy_server.git
git@gitee.com:learnhow/rtsp_proxy_server.git
learnhow
rtsp_proxy_server
rtsp_proxy_server
master

搜索帮助