Client/Server sendet nicht

das-mo

Mitglied
Hallo,
ich bin mit ein paar Freunden dabei ein GO-Spiel zu programmieren und wir stehen gerade vor einem kleinen Problem. Wir wollen das Spiel Netzwerkfähig machen nur der Client sendet nicht so wie wir wollen eine Nachricht an den Server:

Hier einmal der Aufruf:
Java:
public void Multiplayer() throws IOException {
        System.out.println("Procedure started");
        Server server = new Server();
        server.start();
        System.out.println("Server created");
        Client client = new Client("127.0.0.1");
        client.start();
        System.out.println("Client Created");

        client.Write("HALLO!!!");
        System.out.println("Message sent");
        System.out.println(server.Read());

    }

Server:
Java:
public class Server extends Thread {

    int port;
    ServerSocket ssock;
    Socket sock;

    public Server() throws IOException {
        port = 2223;

    }

    @Override
    public void run() {
        try {
            Listen();
        } catch (Exception e) {
        }
    }

    public void Listen() throws IOException {
        ssock = new ServerSocket(port);
        sock = ssock.accept();
        System.out.println("sock accepted!!");
    }

    public String Read() throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(sock.getInputStream()));
        char[] buffer = new char[10];
        int anzahl = bufferedReader.read(buffer, 0, 10);
        String message = new String(buffer, 0, anzahl);
        return message;
    }

    public void Write(String m) throws IOException {
        PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));
        printWriter.print(m);
        printWriter.flush();
    }
}

Client:
Java:
public class Client extends Thread {

    String ip;
    Socket sock;
    int port;

    public Client(String i) throws IOException {
        ip = i;
        port = 2223;

    }

    @Override
    public void run() {
        try {
            Connect();
        } catch (Exception e) {
        }
    }

    public final void Connect() throws IOException {
        sock = new Socket(ip, port);
        
        System.out.println("Connected?");
    }

    public void Write(String m) {
        try{
        PrintWriter printWriter = new PrintWriter(new OutputStreamWriter(sock.getOutputStream()));
        printWriter.print(m);
        printWriter.flush();
        System.out.println("Message written");}
        catch(IOException e){
            System.err.println("ERROR: IOException");
        }
    }
}

Kann mir jemand helfen?

das-mo
 

das-mo

Mitglied
Danke für die schnelle Antwort werde ich mir gleich einmal angucken.

EDIT: Also wenn ich das jetzt richtig verstanden habe muss ich den Thread schlafen legen. Aber warum und wo genau???
 
Zuletzt bearbeitet:

ESCS

Mitglied
Weil die Anweisungen im run() der Server-Klasse noch nicht vollständig abgearbeitet sind bevor du dich mit dem Client verbindest (weil der Server in einem neuen Thread läuft).

Der Umweg über sleep() ist eine unschöne Lösung da man im Endeffekt ja nicht weiß wie lange es dauert bis der Server fertig ist meinen seinen Operationen.

Also entweder über Listener gehen oder den Server an sich initialisieren und Lese-/Schreiboperationen des Servers in einen neuen Thread auslagern.
 
S

SlaterB

Gast
den edit von 17.21 habe ich übrigens nicht gesehen, gefährliche Posting-Art

wo und warum war im anderen Thread übrigends auch das Hauptthema im weiteren Verlauf
 
Zuletzt bearbeitet von einem Moderator:

das-mo

Mitglied
Mal kurz fürs Verständnis:
Ich erstelle eine Klasse Server die läuft durch extends Thread und die methode run() in einem eigenen Thread. Alles was bei mir in Listen() steht kann ich eigentlich auch in run() mit reinpacken und die Methoden Read() und Write() sollen auch jeweils in einen eigenen Thread? Und das gleiche für den Client nochmal?
 
S

SlaterB

Gast
Methoden immer klein schreiben,
Wrapper auf die Socket-Streams nur genau einmal erstellen und merken solange Socket gemerkt wird

und die Aufrufe sollen genau dann passieren wann sie sinnvoll sind, wie schon im anderen Topic gesagt,
ob das in die vorhandenen Thread-Klassen oder in neue Thread-Klassen gehört oder wohin auch immer,
musst du dir schon selber mit Intelligenz ausdenken,

es ist jedenfalls nicht sinnvoll, per Telefon ein Taxi zu rufen und dann direkt auf die Staße zu gehen,
einzusteigen und durch die Luft zu purzeln, da kein Taxi da ist
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
V Client Server Problem, empängt oder sendet nichts Netzwerkprogrammierung 4
S Client sendet - Server leitet weiter Netzwerkprogrammierung 4
I Performanteste Kommunikationsmethode zwischen Client u. Server Netzwerkprogrammierung 4
L Socket Automatische Zuweisung von Server und Client Rolle Netzwerkprogrammierung 12
ExceptionOfExpectation Server/Client-Kommunikation Netzwerkprogrammierung 34
M Server-Client-System für Browsergame Netzwerkprogrammierung 5
Yonnig Threads mit Client/Server und GUI (laufend bis button-click) Netzwerkprogrammierung 9
J Client-Server und SOAP Netzwerkprogrammierung 23
L30nS RMI Aufruf einer Client-Methode von einem RMI-Server Netzwerkprogrammierung 3
T String von Client zu Server kommt nicht an Netzwerkprogrammierung 92
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
D Server - Client Informationsaustausch, Möglichkeiten Netzwerkprogrammierung 3
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
X Kann ich einen Client/Server verbindung hinkriegen die mir alle paar Sekunden die aktuellen Daten per Realtime zuschickt ? Netzwerkprogrammierung 9
D Slf4j - Logging - Client-Server Architektur Netzwerkprogrammierung 3
J client server mit nur einem PC Netzwerkprogrammierung 33
M Socket Nachricht von TCP-Client an Server schicken Netzwerkprogrammierung 12
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
R Socket FATAL EXCEPTION MAIN bei Socket based client/server app Netzwerkprogrammierung 2
G Server-Client IO Problem Netzwerkprogrammierung 6
I Socket Das erste Server-Client Programm Netzwerkprogrammierung 16
M Socket Server antwortet dem Client nicht Netzwerkprogrammierung 6
I Client/Server Kommunikation bei einem Spiel Netzwerkprogrammierung 4
E Objekte versenden, Client-Server Netzwerkprogrammierung 25
C Mini Client-Server-Anwendung funktioniert nicht Netzwerkprogrammierung 8
P Server als Client nutzen Netzwerkprogrammierung 8
D Socket Run Args Client/Server Socket Netzwerkprogrammierung 1
Cromewell Socket Multithreaded Server und Client Netzwerkprogrammierung 1
Y Client/Server/DB communication Netzwerkprogrammierung 3
JavaWolf165 Socket mit .writeUtf etwas vom Client zum Server schicken Netzwerkprogrammierung 13
P RMI Client Server Programm über Internet Netzwerkprogrammierung 2
brainless Client Server Kommunikation verschlüsseln Netzwerkprogrammierung 13
gamebreiti Socket Server / Client Anwendung Manipulation von Objekten durch Server Netzwerkprogrammierung 9
T Socket Server/Client Kommunikation Netzwerkprogrammierung 8
F Server Client Anwendung mit UDP Netzwerkprogrammierung 2
A RMI Wo treten Exceptions bei RMI Aufrufen auf? Auf Client oder auf Server? Netzwerkprogrammierung 3
A ByteBuffer - Client/Server Netzwerkprogrammierung 9
K C# Server - Android Client Netzwerkprogrammierung 0
P MIME-TYPE Erklaerung, Kommunikation zwischen Client und Server Netzwerkprogrammierung 3
J Sichere Kommunikation bei Server Client Netzwerkprogrammierung 3
T Frage zu Client-Server Applikation Netzwerkprogrammierung 2
H Socket Client/Server Socket Programmieren Netzwerkprogrammierung 1
M Theoretische Frage zu Server - Client Netzwerkprogrammierung 2
P HTTP Server / Client Netzwerkprogrammierung 1
E Thematik Client server Netzwerkprogrammierung 2
D Client/Server per Crossover Lan Kabel Netzwerkprogrammierung 1
S Client Server Connection Netzwerkprogrammierung 4
V erste Client - Server Anwendung, paar Fragen wie Socketverbindung checken usw. Netzwerkprogrammierung 4
S Sichere Server/Client Architektur Netzwerkprogrammierung 1
D Chat Server/mehre Client Netzwerkprogrammierung 9
I Server+Client Netzwerkprogrammierung 3
N Client am Server abmelden Netzwerkprogrammierung 0
F Server/Client Probleme Netzwerkprogrammierung 3
U Socket Instant Messanger (Server Linux, Client Windows) Netzwerkprogrammierung 1
Athena Grundsatzfragen zu Client-Server-Architektur / Matchmaking Netzwerkprogrammierung 1
A Problem beim Senden von Client zu Server Netzwerkprogrammierung 10
F Client Server DB Netzwerkprogrammierung 0
A Verständnisfrage Multi-Threaded Client/Server Netzwerkprogrammierung 5
F Tipps zum Thema Server/Client vie SOAP Netzwerkprogrammierung 0
F Socket Java - Server/Client simple Netzwerkprogrammierung 1
R Zeitliche Syncronisation Server - Client Netzwerkprogrammierung 0
S Server-Client: Image senden Netzwerkprogrammierung 2
C Multithreading Client / Server erklärt Netzwerkprogrammierung 11
P server - client verbindung (anfänger) Netzwerkprogrammierung 8
J Client Server - Serialisierung Netzwerkprogrammierung 8
Luk10 Server / Client: Clients speichern! Netzwerkprogrammierung 6
M allgemeine Frage über Server-Client-Kommunikation Netzwerkprogrammierung 5
K Client => Server Netzwerkprogrammierung 2
A ? Home-Network, Server/Client-Einrichtung Netzwerkprogrammierung 4
S Socket Server: ConnectionError vom Client erkennen Netzwerkprogrammierung 31
A Java Server - IOS Client Applikation Netzwerkprogrammierung 20
L Ratschlag zur Umsetzung einer client-server-Kommunikation Netzwerkprogrammierung 6
M RMI RMI Probleme zwischen Client und Server Netzwerkprogrammierung 5
J Erster Server-Client läuft auf lokalem Rechner problemlos. Zwei Rechner über das Internet nicht Netzwerkprogrammierung 8
N Client-Server-Datenbank Netzwerkprogrammierung 13
Kjubert Synchronisieren von Objekten über Client/Server - bester Weg? Netzwerkprogrammierung 7
B Client/Server Connection Problem Netzwerkprogrammierung 2
S Server Client Daten hin und herschicken Netzwerkprogrammierung 2
R Server zu Client Kommunikation Netzwerkprogrammierung 11
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
S Socket Applet Client bekommt keine GLOBALE Verbindung zum Server Netzwerkprogrammierung 25
T Server und Client verbinden nicht Netzwerkprogrammierung 6
D Server Client Verbindung - Unexpected End of File - Invalid HTTP Response Netzwerkprogrammierung 4
V Socket UDP Server/Client Kommunikation sehr langsam Netzwerkprogrammierung 2
Z Socket Server/Client vernünftiger Verbindungsabbruch Netzwerkprogrammierung 4
G Bild über Socket schicken - Client/Server Netzwerkprogrammierung 10
F TCP Server/Client Netzwerkprogrammierung 14
M Problem Client - Server Sockets: .ready() wird nie true! Netzwerkprogrammierung 6
Ollek Socket Sucher passende Server/Client Lösung für meine Anwendung Netzwerkprogrammierung 2
N eine klasse mit server & client Netzwerkprogrammierung 5
D RMI Gui auf client updaten basierend auf den Property Änderung des Models auf dem Server ohne polling Netzwerkprogrammierung 12
T Socket Client versucht zyklische Verbindung zum Server Netzwerkprogrammierung 4
S Socket Einfache Client/Server-Anwendung Netzwerkprogrammierung 11
F Socket Server/Client Kommunikation Netzwerkprogrammierung 4
X Problem mit Server-Client-Kommunikation Netzwerkprogrammierung 14
D Projektstruktur / Architektur (Client-Server) Netzwerkprogrammierung 9
P Socket IRC Client nicht kompatibel mit Server Netzwerkprogrammierung 30
F FTP Client mit Sockets - wann sagt der Server nichts mehr? Netzwerkprogrammierung 7
B RMI Server - Client - Aufteilung/Prinzip Netzwerkprogrammierung 11
N Server Client TCP IP Netzwerkprogrammierung 3

Ähnliche Java Themen

Neue Themen


Oben