Skip to content

A simple (opinionated) networking library using a Packet system, and JEventLoop.

License

Notifications You must be signed in to change notification settings

MaximilianHeidenreich/JNet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contributors Forks Stargazers Issues GPLv3 License


Project Logo

JNet

A small (opinionated) networking library using packets & callbacks that exposes a simple API.
zero* - It uses Log4J for logging purposes
Explore the docs »

Report Bug · Request Feature

Table of Contents

About The Project

I created this project because I needed it for my EnderSync project. I just needed a basic networking library that supports packet sending and handling of response packets (see callbacks). Also, I did not want a super complicated API but something that is intuitive and easy to use. Because I found nothing, I created this library.

Please note that this library is pretty opinionated! If you want something that is highly customizable, you'll have to use something else.

Features

  • Basic
    • Server & Client abstraction
    • Handle multiple named connections
    • Callback functionality to handle packet responses
    • Client authentication
  • API
    • User friendly API.
  • Multithreaded

Usage

Add the dependency to your pom.xml

<project>
    ...
    <repositories>
        <repository>
            <id>maximilianheidenreich</id>
            <name>GitHub MaximilianHeidenreich Apache Maven Packages</name>
            <url>https://maven.pkg.github.com/maximilianheidenreich/*</url>
        </repository>
    </repositories>
    ...
    <dependencies>
        <dependency>
            <groupId>de.maximilian-heidenreich</groupId>
            <artifactId>jnet</artifactId>
            <version>2.2.0</version>
        </dependency>
    </dependencies>
    ....
</project>

-> Visit the /examples folder for usage examples.

Benchmark

todo

Contributing

Feel free to contribute to this project if you find something that is missing or can be optimized. I want to retain the original vision of a simple yet usable library, so please keep that in mind when proposing new features. If you do so, please follow the following steps:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Maximilian Heidenreich - github@maximilian-heidenreich.de

Project Link: https://github.com/MaximilianHeidenreich/JNet

Project Icon: https://github.com/MaximilianHeidenreich/JNet/blob/master/assets/Icon-1024.png

About

A simple (opinionated) networking library using a Packet system, and JEventLoop.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages