Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:netzwerk:chat

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
api:documentation:netzwerk:chat [2021/06/29 15:47] – angelegt Martin Pabstapi:documentation:netzwerk:chat [2021/12/29 11:29] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Einfaches Chatprogramm ====== ====== Einfaches Chatprogramm ======
 +
 +{{ youtube>Jp3_rQ6pevc?large }}
 +
 +<HTML>
 +
 +<div class="java-online" style="height: 500px; width: 100%" data-java-online="{'withBottomPanel': false, 'id': 'chatExample'}">
 +
 +<script type="text/plain" title="ChatExample.java">
 +WSTest ws = new WSTest();
 +
 +String name = Input.readString("Bitte gib Deinen Namen ein:");
 +
 +/**
 + * hf1a ist der Session-Key. Er kann frei gewählt werden. Alle Clients, die sich mit
 + * dem selben Session-Key anmelden, können miteinander kommunizieren.
 + * Die Methode open öffnet die Netzwerkverbindung zum Server und bewirkt, dass
 + * dieser Client dort der Session hf1a beitritt.
 + */
 +ws.open("hf1a", name); 
 +
 +while(true) {
 +   String s = Input.readString("Nachricht:");   // Nutzer kann Nachricht eintippen
 +   ws.sendToAll(s, "Nachricht");                // Die Nachricht wird an alle Clients der Session versandt.
 +}
 +
 +
 +class WSTest extends WebSocket {
 +
 +   /**
 +    * Wird aufgerufen, sobald die Verbindung steht. 
 +    */
 +   public void onOpen() {
 +      println("Connected!");
 +   }
 +
 +   /**
 +    * Wird aufgerufen, wenn eine Nachricht eines anderen Clients empfangen wurde.
 +    */
 +   public void onMessage(WebSocketClient sender, String message, String messageType) {
 +      println("Message from " + sender.getNickname(), Color.red);
 +      println(message);
 +   }
 +
 +   /**
 +    * Wird aufgerufen, wenn ein anderer Client derselben Session beitritt.
 +    */
 +   public void onOtherClientConnected(WebSocketClient otherClient) {
 +      println("Neuer Teilnehmer: " + otherClient.getNickname(), Color.green);
 +   }
 +
 +   /**
 +    * Wird aufgerufen, wenn ein anderer Client die Session verlässt.
 +    */
 +   public void onOtherClientDisConnected(WebSocketClient otherClient) {
 +      println(otherClient.getNickname() + " hat sich abgemeldet.", Color.lightblue);
 +   }
 +
 +   /**
 +    * Wird aufgerufen, wenn der Server (z.B. aus technischen Gründen) die Session
 +    * schließt.
 +    */
 +   public void onClose() {
 +      println("Closed!");
 +   }
 +   
 +}
 +</script>
 +
 +</div>
 +
 +</HTML>
  
api/documentation/netzwerk/chat.1624974448.txt.gz · Zuletzt geändert: 2021/12/29 11:29 (Externe Bearbeitung)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki