Serveri seadistamine

(timestamp) Serveri seadistamine:

5. 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.

6. 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

(timestamp) Serveri loogika rakendamine Kryonet'iga:

7. 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

(timestamp) Lisa Kryonet’i dependency Gradle’ile:

8. 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

(timestamp) Kryonet’i rakendamine Serveri klassis:

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

10. Lisage oma serveri klassi Server instance:

  • private Server server = new Server();

11. 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.

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

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

(timestamp) 13. 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);
    }
});