Coder Social home page Coder Social logo

mevent's Introduction

mevent

GitHub license Build Status

Mevent is a tiny HTTP/WebSocket server library, can be used on Linux and OSX.

Features

  • TLS (https/wss) support
  • ping/pong support
  • Asynchronous and non-blocking, I/O Multiplexing using epoll and kqueue
  • Supports Linux, OSX
  • Thread-safe

Integration

You should have libssl, libcurl installed into your system, and your compiler should support C++11.

Debian and Ubuntu users

apt-get install libssl-dev libcurl4-gnutls-dev

Fedora and RedHat users

yum install openssl-devel libcurl-devel

OSX users

brew update
brew install openssl curl

Example

#include "mevent/http_server.h"

using namespace mevent;

class HelloWorld {
public:
    void Index(Connection *conn) {
        conn->Resp()->SetHeader("Content-Type", "text/html");
        conn->Resp()->WriteString("hello world!");
    }
};

int main() {
    HelloWorld hello;
    
    HTTPServer *server = new HTTPServer();
    server->SetHandler("/", std::bind(&::HelloWorld::Index, &hello, std::placeholders::_1));

    server->SetWorkerThreads(4);
    server->SetIdleTimeout(60);
    server->SetMaxWorkerConnections(8192);
    
    server->ListenAndServe("0.0.0.0", 80);
    
    return 0;
}

More examples can be found in examples directory.

Author

Luyao Teng

mevent's People

Contributors

xkilluax avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.