3 Star 2 Fork 5

张远浩/call_demo_server

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
imconn.h 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
/*
* imconn.h
*
* Created on: 2013-6-5
* Author: ziteng
*/
#ifndef IMCONN_H_
#define IMCONN_H_
#include "ImPduBase.h"
#include "netlib.h"
#include "util.h"
#define SERVER_HEARTBEAT_INTERVAL 5000
#define SERVER_TIMEOUT 30000
#define CLIENT_HEARTBEAT_INTERVAL 30000
#define CLIENT_TIMEOUT 120000
#define MOBILE_CLIENT_TIMEOUT 60000 * 5
#define READ_BUF_SIZE 2048
class CImConn : public CRefObject
{
public:
CImConn();
virtual ~CImConn();
bool IsBusy() { return m_busy; }
int SendPdu(CImPdu* pPdu) { return Send(pPdu->GetBuffer(), pPdu->GetLength()); }
int Send(void* data, int len);
virtual void OnConnect(net_handle_t handle) { m_handle = handle; }
virtual void OnConfirm() {}
virtual void OnRead();
virtual void OnWrite();
virtual void OnClose() {}
virtual void OnTimer(uint64_t curr_tick) {}
virtual void OnWriteCompelete() {};
virtual void HandlePdu(CImPdu* pPdu) = 0;
protected:
net_handle_t m_handle;
bool m_busy;
string m_peer_ip;
uint16_t m_peer_port;
CSimpleBuffer m_in_buf;
CSimpleBuffer m_out_buf;
uint32_t m_recv_bytes;
uint64_t m_last_send_tick;
uint64_t m_last_recv_tick;
uint64_t m_last_all_user_tick;
};
typedef std::unordered_map<net_handle_t, CImConn*> ConnMap_t;
typedef std::unordered_map<uint32_t, CImConn*> UserMap_t;
void imconn_callback(void* callback_data, uint8_t msg, uint32_t handle, void* pParam);
#endif /* IMCONN_H_ */
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/bluefoxah/call_demo_server.git
git@gitee.com:bluefoxah/call_demo_server.git
bluefoxah
call_demo_server
call_demo_server
master

搜索帮助