Code Monkey home page Code Monkey logo

libnet's Introduction

Synopsis

LibNet is a network Framework-library, that is imagined to simplify the creation of networking programs. It was first imagined for the mmo developpement framework "Highlands Framework", and is now opensource and public. The library is simple and fast to use, and is adapted for every type of protocol (text, binary, ...)

Travis status

Build Status

Features

  • TCP and UDP socket management
  • TCP asynchronous built-in server and client.
  • Multiple protocol type support.
  • Multiple languages supported (currently, we are working on a C# version and a java version).
  • A Packet object to manage multiple datas packet.
  • Encapsulated functions turned to Java-Like Objects (Mutex, CondVar, Thread, Selector, ...).
  • A complete documentation.
  • Simple to use.
  • Trying to be very optimized.
  • Simple to install (using CMake).
  • Windows (not yet), Mac and Linux compatible.

Code Example

Here is an example of the creation of a server.

#include <mognetwork/TcpASIOServer.hh>

int main(void)
{
	mognetwork::TcpASIOServer server(4242, Binary);

	server.start();

	return 0;
}

You can find more examples in the test directory

How do it works?

This is a normal use of the library (Using TcpASIOServer):

Schema1

This is an optimized way of using the library (Using TcpASIOServer):

Schema2

Motivation

We created this project at first to our project "Highlands Framework". Then, because we really like the OpenSource community and world, we decided to set that library as an OpenSource project. The library is going to be adapted to C#, Java, and mabe more languages.

Installation

You can find an installation guide in the wiki!

Getting support

You can get support by simply contacting me (moghra_a [ @ ] epitech.eu). If you find an issue, please use the issues tracker

API Reference

The documentation can be found there.

Contribute

LibNet is an open-source project, and it needs your help to go on growing and improving. If you want to get involved and suggest some additional features, file a bug report or submit a patch, you can fork this repository and ask for a pull request. You can alsow contact me for more informations!

libnet's People

Contributors

alexmog avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

libnet's Issues

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.