开源服务器框架——jwEngine,适用于小游戏后端开发

一、介绍​​​​​​

jwEngine:一个跨平台的c++<->lua服务器快速解决方案,该框架即可快速响应服务器开发工作,设计思想:“让事情变得更简单”

网络底层采用libuv(node.js底层库),异步io助力使单线程也能释放澎湃动力,跨平台支持epoll、iocp、ipv6。框架支持tcp、udp/kcp、websocket、http,并保证了接口的一致性,使用了sol2将所有接口都导出到lua,可以选择用lua开发逻辑。

使用modern c++开发,尽可能的使用std::move、std::string_view减少内存复制。

该框架使用异步事件,不建议使用多线程,避免多线程上下文切换开销和破坏代码美感,网络部分和逻辑部分使用一个主事件循环驱动。建议的方案是多进程单线程的横向扩展,按照业务控制各个进程的粒度,当然mysql和redis可以加入到线程池中。

二、示例

该示例展示了如何搭建一个tcp服务器,只需要几行代码即可构建一个服务器,代码结构设计合理,呈现出代码的视觉美感!

class INetEvent : public NetEvent
{
public:
    virtual void onAccept(NetConnect * conn){}
    virtual void onClose(NetConnect * conn){}
    virtual void onMsg(NetConnect * conn, int msgtype, NetPacket * pack){}
};
 
int main()
{
    EventLoop::Instance()->init();
 
    INetEvent eve;

你可能感兴趣的:(服务器架构,c++,lua,protobuf,websocket,mysql)