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, ...)
- 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.
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
This is a normal use of the library (Using TcpASIOServer):
This is an optimized way of using the library (Using TcpASIOServer):
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.
You can find an installation guide in the wiki!
You can get support by simply contacting me (moghra_a [ @ ] epitech.eu). If you find an issue, please use the issues tracker
The documentation can be found there.
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!