经过一天的简单学习,尝试自己写一个简单的服务器,能够实现以下三大回调功能:onConnect onMessage onClose
下面直接贴出代码
1.BaseServer抽象类
BaseServer.h
/*
name:BaseServer
use:the basest server
author:hezijian(hezijian22@163.com)
*/
#ifdef _MSC_VER
#define _WIN32_WINNT 0x0501
#endif
#ifndef _BASE_SERVER_H_
#define _BASE_SERVER_H_
#include <boost/asio.hpp>
#include "SERVER_CONSTANT.h"
using namespace boost::asio;
using boost::system::error_code;
using ip::tcp;
class Session{
public:
Session(io_service& iosev):
m_buf((char*)malloc(SERVER_CONTANT::SESSION_BUF_LEN)),
m_socket(iosev)
{
memset(m_buf,0,SERVER_CONTANT::SESSION_BUF_LEN);
}
~Session(){
delete[] m_buf;
}
inline ip::tcp::socket& getSocket(){return m_socket;}
inline char* getBuf(){return m_buf;}
private:
ip::tcp::socket m_socket;
char* m_buf;
};
class BaseServer
{
public:
BaseServer(io_service &iosev);
//初始化
v