Socket Nachrichten senden

Lyras

Mitglied
Hallo :confused:

Ich versuche neuerdings für mein Spiele eine Art Chat-System zu entwickeln.
Ich bekomme zwar eine Verbindung zwischen Client und (derzeit) localhost hin, aber weiß danach nicht weiter. Ich möchte gerne, dass der Server mir, dem Client, wenn ich connecte, einen String sendet, den ich dann, zum Testen wohlgemerkt, in der Konsole ausgeben lassen kann.
Java:
//Diese Klasse enthält den Port und den Host
package com.lyras.server.connection;

public class Connection {
  
    private static String host = "127.0.0.1";
    private static int port = 81;
  
    public static String getHost () {
      
        return Connection.host;
      
    }
  
    public static int getPort () {
      
        return Connection.port;
      
    }

}

[Meine Client-Klasse]
package com.lyras.server.connection;

import java.net.Socket;

public class Client {

    private static Socket socket;
  
    public static Socket getSocket () {
      
        return Client.socket;
      
    }
    public static void connect () {
      
        try {
          
            Client.socket = new Socket ( Connection.getHost() , Connection.getPort() );
            System.out.println( "[Client] Trying to connect to host '" + Connection.getHost() + "' on port '" + Connection.getPort() + "'." );
          
            Server.addConnection();
          
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
    public static void disconnect () {
      
        try {
          
            if ( Client.socket != null ) Client.socket.close();
          
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
}

[Meine Server-Klasse]
package com.lyras.server.connection;

import java.net.ServerSocket;
import java.util.ArrayList;

public class Server {
  
    private static ServerSocket socket;
    private static ArrayList < ConnectionThread > connections;
  
    public static void start () {
      
        try {
          
            Server.connections = new ArrayList < ConnectionThread > ();
          
            Server.socket = new ServerSocket( Connection.getPort() );
            System.out.println( "[Server] Unlocked port '" + Connection.getPort() + "'." );
            
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
    public static void stop () {
      
        try {
          
            if ( Server.socket != null ) {
              
                Server.socket.close();
                System.out.println( "[Server] The server has been shut down." );
              
            }
            
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
    public static void addConnection () {
      
        try {
          
            Server.connections.add( new ConnectionThread( Server.socket.accept() ) );
            System.out.println( "[Server] Server added connection." );
          
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
}

//Bei jeder neuen Verbindung wird eine neue Instanz erstellt
[Meine ConnectionThread-Klasse]
package com.lyras.server.connection;

import java.io.DataInputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.util.ArrayList;

public class ConnectionThread extends Thread {

    private Socket socket;
  
    private DataInputStream input;
    private PrintStream output;
  
    public ConnectionThread ( Socket socket ) {
      
        try {
          
            this.socket = socket;
          
//input = InputStream von der Socket
            this.input = new DataInputStream( this.socket.getInputStream() );
            this.output = new PrintStream ( this.socket.getOutputStream() );
          
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
    public DataInputStream getInputStream () {
      
        return this.input;
      
    }
  
    public PrintStream getOutputStream () {
      
        return this.output;
      
    }
  
    public void run () {
      
        try {
          
            //hier sollen dann evtl. Sachen abgewickelt werden
            //Bitte nicht drum kümmern ;)
          
        } catch ( Exception exception ) {
          
            exception.printStackTrace();
          
        }
      
    }
  
}

Ich kann nun also alle Verbindungen abfangen und die Input-/OutputStreams davon anzapfen.
Aber wie um alles in der Welt muss ich nun weiter verfahren? Wie bekomme ich es hin, dass der Server über die Streams der Socket einen String an den Client schickt, welchen ich dann abgreifen kann?

Vielen lieben Dank im Voraus,
MFG ~ Lyras :oops:
 

Lyras

Mitglied
Ich weiß leider nicht genau wo ich dabei ansetzen soll, weshalb ich versuche mir hier Hilfe zu holen.
Ein Code-Snippet wäre super ;)
 

InfectedBytes

Top Contributor
google? ;)

Gibt da mehrere Möglichkeiten, eine simple ist folgende:
Java:
DataOutputStream out = new DataOutputStream(socket.getOutputStream());
out.writeUTF("Hallo");
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Probleme beim Senden von Nachrichten an den Server Netzwerkprogrammierung 9
F Erhalten und Senden von Nachrichten anhand des Indexes des Clients Netzwerkprogrammierung 19
B Multicast-Nachrichten-Empfang funktioniert nicht Netzwerkprogrammierung 5
T DataOutputStream Nachrichten werden fehlerhaft gesendet. Netzwerkprogrammierung 1
Creylon Socket Mehrere gleichzeitig eingehende Nachrichten Netzwerkprogrammierung 8
S javamail und filterung bekannter nachrichten Netzwerkprogrammierung 3
J Nach Dateiversand werden keine Nachrichten mehr übertragen Netzwerkprogrammierung 11
B Socket NIO-Server/Client-Abgeschnittene Nachrichten (Strings) Netzwerkprogrammierung 6
I Socket HTTP Nachrichten über Sockets verschicken Netzwerkprogrammierung 2
T Netzwerkchat Problem: Mehrere Nachrichten ~ Anfängerproblem Netzwerkprogrammierung 3
S ICQ Nachrichten abhöhren Netzwerkprogrammierung 4
S Knuddels Chat System: Bot / Nachrichten verschicken? Netzwerkprogrammierung 6
B Nachrichten-Polling? Netzwerkprogrammierung 5
B Nachrichten über das Netzwerk verschicken Netzwerkprogrammierung 3
A Thread gibt Nachrichten mehrmals aus (Messenger in Java) Netzwerkprogrammierung 3
S Server mit mehreren Clients Nachrichten austauschen Netzwerkprogrammierung 6
OnDemand Daten per API senden, parallel Netzwerkprogrammierung 9
M Socket Senden an alle verbundenen Clients Netzwerkprogrammierung 3
S Socket Bilder über Socket Senden Netzwerkprogrammierung 0
E Socket Befehl senden und antowrt bekommen ! Netzwerkprogrammierung 1
S Daten über TCP/IP senden Netzwerkprogrammierung 3
L Strings an Server senden und in MYSQL speichern? Netzwerkprogrammierung 3
D Socket Message an einen Server senden? Netzwerkprogrammierung 8
J HTTP Befehl via HTTP senden ohne Browser öffnen Netzwerkprogrammierung 3
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
M Socket Bilder senden Netzwerkprogrammierung 1
H HTTP REST Jersey - PUT-Beispiel von Client senden Netzwerkprogrammierung 0
W Socket Byte Array senden Netzwerkprogrammierung 2
G Mail senden funktioniert nicht mit SSL Netzwerkprogrammierung 7
M MultiClient Server - Senden an alle Clients Netzwerkprogrammierung 8
X UDP - Zu großes Paket senden Netzwerkprogrammierung 1
fLooojava Daten an ein Arduino im selben Netzwerk senden Netzwerkprogrammierung 1
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
M Teilnehmerliste vom Server auch an alle Clients senden Netzwerkprogrammierung 0
S Server - Mehrere Klassen sollen Daten senden und empfangen Netzwerkprogrammierung 25
I Kleine Dateien senden Netzwerkprogrammierung 3
K ByteArray über Netzwerk senden klappt nicht Netzwerkprogrammierung 5
S Server-Client: Image senden Netzwerkprogrammierung 2
B Socket BufferedImage senden "ohne speichern" Netzwerkprogrammierung 7
P Socket Daten senden mit ServerSocket? Netzwerkprogrammierung 2
Z Socket Probleme beim Senden und Empfangen Netzwerkprogrammierung 5
K Socket Senden und abspeichern Netzwerkprogrammierung 34
T ArrayList über Netzwerk senden! Netzwerkprogrammierung 5
M Gleicher Port für Senden und Empfangen ? Netzwerkprogrammierung 17
N Problem über http eine Datei zu senden Netzwerkprogrammierung 4
T Empfangen klappt Senden nicht - Connection timed out Netzwerkprogrammierung 12
D Strings per Schleife zum Client senden Netzwerkprogrammierung 4
D daten per post senden Netzwerkprogrammierung 3
M Senden von Daten nicht direkt möglich? Netzwerkprogrammierung 6
B SSH mit Jsch, mehrere Befehle senden Netzwerkprogrammierung 4
A Socket Server: Message an verschiedene Clients senden Netzwerkprogrammierung 4
F Verschiedene Datentypen senden Netzwerkprogrammierung 4
M Befehle an externes Java-Programm senden Netzwerkprogrammierung 8
1 Datei senden/empfangen funzt nicht... Netzwerkprogrammierung 5
M Objekt über socket senden/empfangen Netzwerkprogrammierung 3
Weltall 7 HTTP Dateien an PHP-Skript senden Netzwerkprogrammierung 11
T Outputstream Byte-Array senden Netzwerkprogrammierung 2
N Senden eines Arrays Netzwerkprogrammierung 6
F Char über Netzwerk senden Netzwerkprogrammierung 6
C Befehle über ein GUI an Server senden Netzwerkprogrammierung 15
J Befehle an Server senden Netzwerkprogrammierung 5
L Zeitspanne für erneutes senden Netzwerkprogrammierung 16
Kr0e Ggf. Performanceproblem durch Senden von vielen kleinen Buffern Netzwerkprogrammierung 17
S Socket OutputStreams senden zu oft Netzwerkprogrammierung 6
D Probleme bei mehreren Clients uns Senden von Messages Netzwerkprogrammierung 16
Akrillo Datei per Netzwerk senden Netzwerkprogrammierung 10
KeNnY_tHe_OwNeR Empfangen geht, Senden nicht ?! Netzwerkprogrammierung 18
B Befehle an Gameserver senden bzw. empfangen Netzwerkprogrammierung 2
P Probleme beim weiter senden von Datein Netzwerkprogrammierung 10
T HttpClient - Senden via Post Netzwerkprogrammierung 12
Q Datein von Windows nach Mac senden Netzwerkprogrammierung 4
S Bild-Datei von Servlet an Browser senden Netzwerkprogrammierung 8
M Dateien über TCP/IP senden Netzwerkprogrammierung 18
Q NullPointExeption beim Versuch byte[] zu senden/writen Netzwerkprogrammierung 3
S Probleme beim senden von Daten per POST Methode an PHP Scrip Netzwerkprogrammierung 5
R Mehrere Dateien über einen Socket senden Netzwerkprogrammierung 2
F Daten senden und empfangen mit Applet Netzwerkprogrammierung 8
G Information an Server senden? Netzwerkprogrammierung 4
D PDF und integer senden Netzwerkprogrammierung 6
M BufferedImage an PHP-Script senden Netzwerkprogrammierung 4
J Problem beim Senden von File Netzwerkprogrammierung 4
S String[] über Socket senden Netzwerkprogrammierung 3
G unbekannte Zeichen beim senden und lesen Netzwerkprogrammierung 2
V Mehrere Streams durch einen Stream senden Netzwerkprogrammierung 14
T Image aus Applet an PHP Seite senden? Netzwerkprogrammierung 3
D BufferedImage über das Netzwerk senden Netzwerkprogrammierung 2
C Flash Daten an Java senden, wie serialisieren? Netzwerkprogrammierung 3
A Broadcast - senden eines Packetes an alle rechner im netz Netzwerkprogrammierung 15
R Bytes als Rohdaten über Socket senden Netzwerkprogrammierung 3
E rxtx serielles senden von Daten Netzwerkprogrammierung 2
D Socket, Daten über BufferedWriter senden Netzwerkprogrammierung 18
V Problem beim Senden von Dateien Netzwerkprogrammierung 4
W Hexadezimal über RS232 senden Netzwerkprogrammierung 9
L webformular automatisch erstellen, senden und auswerten . Netzwerkprogrammierung 2
G Anfrage an Suchmaschine senden Netzwerkprogrammierung 11
M TCP Socket und Server int senden und empfangen Netzwerkprogrammierung 6
M datagramSocket senden u. empangen? Netzwerkprogrammierung 2
V Java /Matrizen senden über TCP/IP / double Netzwerkprogrammierung 2
W Socket Client-Server Verbindung. Wie Strings senden? Netzwerkprogrammierung 6
M HTTP Requests verarbeiten und Response senden mit Java Netzwerkprogrammierung 14

Ähnliche Java Themen

Neue Themen


Oben