Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Links update on README.md #59

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ KryoNet can be downloaded on the [releases](https://github.com/EsotericSoftware/

## Overview

KryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the [Kryo serialization library](http://code.google.com/p/kryo/) to automatically and efficiently transfer object graphs across the network.
KryoNet is a Java library that provides a clean and simple API for efficient TCP and UDP client/server network communication using NIO. KryoNet uses the [Kryo serialization library](https://github.com/EsotericSoftware/kryo) to automatically and efficiently transfer object graphs across the network.

KryoNet runs on both the desktop and on [Android](http://www.android.com/).

Expand Down Expand Up @@ -67,7 +67,7 @@ The SomeRequest and SomeResponse classes are defined like this:
}
```

[Kryo](http://code.google.com/p/kryo/) automatically serializes the objects to and from bytes.
[Kryo](https://github.com/EsotericSoftware/kryo) automatically serializes the objects to and from bytes.


## Connecting a client
Expand Down Expand Up @@ -116,7 +116,7 @@ For the above examples to work, the classes that are going to be sent over the n

This must be done on both the client and server, before any network communication occurs. It is very important that the exact same classes are registered on both the client and server, and that they are registered in the exact same order. Because of this, typically the code that registers classes is placed in a method on a class available to both the client and server.

Please see the [Kryo serialization library](http://code.google.com/p/kryo/) for more information on how objects are serialized for network transfer. Kryo can serialize any object and supports data compression (eg, deflate compression).
Please see the [Kryo serialization library](https://github.com/EsotericSoftware/kryo) for more information on how objects are serialized for network transfer. Kryo can serialize any object and supports data compression (eg, deflate compression).


## TCP and UDP
Expand Down Expand Up @@ -164,22 +164,22 @@ This will print the address of the first server found running on UDP port 54777.

## Logging

KryoNet makes use of the low overhead, lightweight [MinLog logging library](http://code.google.com/p/minlog/). The logging level can be set in this way:
KryoNet makes use of the low overhead, lightweight [MinLog logging library](https://github.com/EsotericSoftware/minlog). The logging level can be set in this way:

```java
Log.set(LEVEL_TRACE);
```

KryoNet does minimal logging at INFO and above levels. DEBUG is good to use during development and indicates the total number of bytes for each object sent. TRACE is good to use when debugging a specific problem, but outputs too much information to leave on all the time.

MinLog supports a fixed logging level, which will remove logging statements below that level. For efficiency, KryoNet can be compiled with a fixed logging level MinLog JAR. See [MinLog](http://code.google.com/p/minlog/) for more information.
MinLog supports a fixed logging level, which will remove logging statements below that level. For efficiency, KryoNet can be compiled with a fixed logging level MinLog JAR. See [MinLog](https://github.com/EsotericSoftware/minlog) for more information.


## Pluggable Serialization

Serialization can be customized by providing a Serialization instance to the Client and Server constructors. By default KryoNet uses [Kryo](http://code.google.com/p/kryo/) for serialization. Kryo uses a binary format and is very efficient, highly configurable, and does automatic serialization for most object graphs.
Serialization can be customized by providing a Serialization instance to the Client and Server constructors. By default KryoNet uses [Kryo](https://github.com/EsotericSoftware/kryo) for serialization. Kryo uses a binary format and is very efficient, highly configurable, and does automatic serialization for most object graphs.

JsonSerialization is provided which uses [JsonBeans](http://code.google.com/p/jsonbeans/) to do serialization using JSON. JSON is human readable so is convenient for use during development to monitor the data being sent and received.
JsonSerialization is provided which uses [JsonBeans](https://github.com/EsotericSoftware/jsonbeans) to do serialization using JSON. JSON is human readable so is convenient for use during development to monitor the data being sent and received.


## Remote Method Invocation
Expand Down Expand Up @@ -241,7 +241,7 @@ KryoNet makes the assumptions that it will only be used for client/server archit

The [Apache MINA](http://mina.apache.org/) project is similar to KryoNet. MINA's API is lower level and a great deal more complicated. Even the simplest client/server will require a lot more code to be written. MINA also is not integrated with a robust serialization framework and doesn't intrinsically support RMI.

The [Priobit](http://code.google.com/p/priobit/) project is a minimal layer over NIO. It provides TCP networking similar to KryoNet, but without the higher level features. Priobit requires all network communication to occur on a single thread.
The [PyroNet](https://code.google.com/p/pyronet/) project is a minimal layer over NIO. It provides TCP networking similar to KryoNet, but without the higher level features. PyroNet requires all network communication to occur on a single thread.

The [Java Game Networking](http://code.google.com/p/jgn/) project is a higher level library similar to KryoNet. JGN does not have as simple of an API.

Expand All @@ -250,6 +250,6 @@ The [Java Game Networking](http://code.google.com/p/jgn/) project is a higher le

Beyond this documentation page, you may find the following links useful:

- [Kryo](http://code.google.com/p/kryo/) (used to do the serialization in KryoNet)
- [Example code](http://code.google.com/p/kryonet/source/browse/#svn/trunk/kryonet/examples/com/esotericsoftware/kryonet/examples)
- [Unit tests](http://code.google.com/p/kryonet/source/browse/#svn/trunk/kryonet/test/com/esotericsoftware/kryonet)
- [Kryo](https://github.com/EsotericSoftware/kryo) (used to do the serialization in KryoNet)
- [Example code](https://github.com/EsotericSoftware/kryonet/tree/master/examples/com/esotericsoftware/kryonet/examples)
- [Unit tests](https://github.com/EsotericSoftware/kryonet/tree/master/test/com/esotericsoftware/kryonet)