Serveri seadistamine

Saad vajadusel kaasa teha videoga

1. Loo server moodul Gradle ehitussüsteemi jaoks ja kasuta Gradle DSL-ina Groovy't.
  • (New -> Module)

  • vali Build system alt Gradle

  • Gradle DSL alt vali Groovy.

  • Ava server moodul uues IntelliJ aknas.

2. Ava server moodul uues IntelliJ aknas.

  • Projekti ehitamiseks kasutage Tasks > build > build

  • Serveri käivitamiseks kasutage Tasks > other > run või Tasks > application > run

Gradle: Automatiseerib sõltuvuste (dependencies) allalaadimist, uuendamist, leidmist.

Groovy: Gradle build scripts kirjutamiseks.

Serveri loogika rakendamine Kryonet’iga

3. Loo server klass, lisades:

  • Uus directory src\main\java,

  • Luues package ee.taltech.game.server,

  • Lisades uue Java klassi serveri loogika jaoks (nt GameServer).

Külastage Kryoneti GitHubi lehte rakenduse üksikasjade kohta.

Vaadake Kryonet’i kasutamise näiteid.

Lisa Kryonet’i dependency Gradle’ile

4. Ava build.gradle fail ja navigeeri Kryoneti Maveni Repository, et leida sobiv Gradle’i dependency teave (nt implementation("com.esotericsoftware:kryonet:2.22.0-RC1") ).

  • Lisa Kryonet’i dependency oma projekti, muutes build.gradle faili. Tuleb lisada just dependencies sektsiooni.

  • Ehita projekt lisatud sõltuvusega kasutades Tasks > build > build

Kryonet’i rakendamine Serveri klassis

5. Impordi com.esotericsoftware.kryonet.Server oma serveri klassi.

6. Lisage oma serveri klassi Server instance:

  • private Server server = new Server();

7. Konstruktoris initsialiseerige server ja käsitlege vigu järgmise koodiga:

server = new Server();
server.start();
try {
    server.bind(8080, 8081);
} catch (IOException e) {
    throw new RuntimeException(e);
}
  • server.start() algatab serveri ja valmistab selle ette ühenduste käsitlemiseks.

  • server.bind(8080, 8081) seob serveri TCP pordile 8080 ja UDP pordile 8081, try-catch plokk aitab vigu käsitleda.

8. Lisage oma serveri klassi põhimeetod vastavalt oma serveri klassi nimele:

public static void main(String[] args) { GameServer gameServer = new GameServer(); }

9. Järgmine asi, mida lisada oma konstruktorisse, on Listener.

  • Kryonet'i listener: vastutab erinevate sündmuste ja sõnumite käsitlemise eest Kryonet’i serveri käivitamise ajal. Kood, mis lisab listener, et printida vastuvõetud objekte, on järgmine:

server.addListener(new Listener() {
    public void received(Connection connection, Object object) {
        System.out.print(object);
    }
});