Socket Java - Server/Client simple

fetcher

Mitglied
Hallo liebes Forum,
ich möchte einen kleinen Chat schreiben und benötige ein wenig Hilfe.

Ich habe schon ein paar Tutorials ausprobiert und komme trotzdem nicht ganz weiter.
Zum Ablauf:
1. Server starten(warten auf Verbindung) funktioniert
2. Connecten mit Client - funktioniert
3. Vom Client eine Nachricht an den Server schicken / funktioniert auch

Mein Problem:
4. Serververbindung aufrecht erhalten
5. eine weitere Nachricht an den Server schicken


Mein bisheriger Servercode:
Java:
package serverTest;
import java.io.*; 
import java.net.*;
 
 
public class Server {
 
    public static void main(String[] args) {
        try {
            ServerSocket skt = new ServerSocket(50666);
 
            Socket clientSocket = skt.accept();
 
            clientSocket.setKeepAlive(false);
         
            System.out.println("Connected..");
 
            
            BufferedReader input = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
 
            String inputLine;
 
            while((inputLine = input.readLine()) != null)
            {
                System.out.println(inputLine);
            }
 
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
 
}


Mein Client:

Java:
package client;
import java.io.*; 
import java.net.*;
 
public class Client {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Client client = new Client();
        try {
            client.test();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
    }
 
    void test() throws IOException {
        String ip = "127.0.0.1"; // localhost
        int port = 50666;
        java.net.Socket socket = new java.net.Socket(ip,port); // verbindet sich mit Server
        String zuSendendeNachricht = "Hello, xxxworld!\n";
        schreibeNachricht(socket, zuSendendeNachricht);
        
        String empfangeneNachricht = leseNachricht(socket);
        System.out.println(empfangeneNachricht);
     }
    
    void schreibeNachricht(java.net.Socket socket, String nachricht) throws IOException {
         PrintWriter printWriter =
            new PrintWriter(
            new OutputStreamWriter(
                socket.getOutputStream()));
        printWriter.print(nachricht);
        printWriter.flush();
        }
    
    String leseNachricht(java.net.Socket socket) throws IOException {
        BufferedReader bufferedReader =
            new BufferedReader(
            new InputStreamReader(
                socket.getInputStream()));
        char[] buffer = new char[200];
        int anzahlZeichen = bufferedReader.read(buffer, 0, 200); // blockiert bis Nachricht empfangen
        String nachricht = new String(buffer, 0, anzahlZeichen);
        return nachricht;
        }
    
}

Ich bin für jede Hilfe dankbar.
Beste grüße
 

Sen-Mithrarin

Gesperrter Benutzer
"4. Serververbindung aufrecht erhalten"
Java:
clientSocket.setKeepAlive(false);
also alleine DAS widerspricht sich schon irgendwie

was dein wirkliches problem ist : du definierst in deinem code genau EINE nachricht die du dem server senden willst ...
diese schickst du ihm dann auch und wartest auf dessen antwort ...
und danach ist dein code einfach zu ende ... da kommt nix mehr ... aus ... vorbei ... finito ...

was du also machen musst : dafür sorgen das du in einem loop auf eine mögliche eingabe wartest

sehr gut erklärt (wenn auch extrem veraltet, sollte dem aber kein abbruch tun) : HIER
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D WebSocket Server mit HTML Client und Java Server Netzwerkprogrammierung 5
H Socket Chat entwickeln mit Java Server Client Netzwerkprogrammierung 4
M Socket Verbindung Matlab(Server) Java(Client) Netzwerkprogrammierung 1
A Java Server - IOS Client Applikation Netzwerkprogrammierung 20
D TCP Verbindung (Java Client und Visual Basic Server) Netzwerkprogrammierung 12
J HTTP Java Client / Server Internet - Webshare ?! Netzwerkprogrammierung 9
L C# WCF Server und Java Client? Netzwerkprogrammierung 2
N Socket Java server c# client problem Netzwerkprogrammierung 7
M client server in java Netzwerkprogrammierung 4
I Java Client - C Server Netzwerkprogrammierung 8
H Java.nio Server, Java.io Client Netzwerkprogrammierung 3
R Kommunikationsproblem zwischen JAVA-client und C-Server Netzwerkprogrammierung 5
M Java XML-RPC Server - PHP XML-RPC Client ? Netzwerkprogrammierung 8
F Java Client-Server-Client Verbindung Netzwerkprogrammierung 9
R Java Applikation als Client ,Servlet als Server: Problem? Netzwerkprogrammierung 3
S Kommunikation Fortran <-> Java auf Client-Server-Archi Netzwerkprogrammierung 2
JaXnPriVate Java HTTPS Server (Secure Sockets) Netzwerkprogrammierung 15
S Von Java auf passwortgeschützten Server zugreifen + Umgang mit Ports Netzwerkprogrammierung 28
S Probleme bei Java-Installation auf Server (Linux/Shell/Terminal) Netzwerkprogrammierung 6
S Java: Anbindung an einen realen Server? (+ Portfreigabe) Netzwerkprogrammierung 8
S HTTP Post?!? - Java Server Netzwerkprogrammierung 7
F Verbindung zu einem LDAP Server über Java Netzwerkprogrammierung 4
F Server für Java Applikationen Netzwerkprogrammierung 16
T Mikrofonaudio über Java Server an Webbrowser streamen Netzwerkprogrammierung 13
Aruetiise Socket Java Programm auf Server Netzwerkprogrammierung 3
S Java Chat Server Netzwerkprogrammierung 8
M Java Eingabe auf FTP Server übergeben Netzwerkprogrammierung 4
M Socket Java Server: NullPointerException Netzwerkprogrammierung 4
J Java Server empfängt php inhalt nicht Netzwerkprogrammierung 1
X Mit Java eine Applikation auf einem anderen Windows Rechner (Windows Server 2008) starten Netzwerkprogrammierung 1
F Socket Java Server mit Android App, Antwort vom Server an App Netzwerkprogrammierung 5
F Java Server Scanner oder InputStream kann nicht gelsesen werden! Netzwerkprogrammierung 6
H Socket Java | Server sendet Nachricht nur wenn vorher eine JOptionPane-Nachricht ausgegeben wurde. Netzwerkprogrammierung 2
G Multiple Clients and one Server --> java.lang.NullPointerException Netzwerkprogrammierung 1
E Java Server übers Internet erreichen Netzwerkprogrammierung 4
C Kostenloser Java-Server? Netzwerkprogrammierung 25
H Socket Java Chat - Verbindung zum Server fehlgeschlagen. Netzwerkprogrammierung 5
P FTP Server mit Java, möglich ? Netzwerkprogrammierung 4
N über Java in eine Text-Datei auf einem Server schreiben Netzwerkprogrammierung 2
F Java SMTP Server Netzwerkprogrammierung 9
S Socket Java Server StreamCorruptedException Netzwerkprogrammierung 7
P Java Programm als Dienst auf Server Netzwerkprogrammierung 11
P Java Web Server Netzwerkprogrammierung 3
D Umwandlung von Java WebStart zu Java Server Pages Netzwerkprogrammierung 6
W Terminal-Server (Windows 2003) und Java Netzwerkprogrammierung 9
E java.net.SocketException: Unexpected end of file from server Netzwerkprogrammierung 2
H Mit Java ein JPG auf einem Server öffnen. Netzwerkprogrammierung 7
A Java-Programm auf einem Server laufen lassen Netzwerkprogrammierung 9
M Java Server mit verschiedenen Kommunikationsmöglichkeiten Netzwerkprogrammierung 6
E Java Server via Swing offline setzen Netzwerkprogrammierung 4
J Server soll Zugriff auf Java Programm ermöglichen Netzwerkprogrammierung 3
D Server Socket läuft nicht -> java.net.SocketException: Netzwerkprogrammierung 4
N eigener Java-Server => PHP einbauen Netzwerkprogrammierung 67
S MySQL, PHP, Perl Support in einem Java HTTP Server? Netzwerkprogrammierung 7
D HTTP Apache-HttpClient/UNAVAILABLE (java 1.4) Netzwerkprogrammierung 18
M JAX-WS unter Java 17 plötzlich nicht mehr möglich Netzwerkprogrammierung 5
K Java RMI bricht ab wenn Remote eine Methode ausgeführt werden soll Netzwerkprogrammierung 5
M HTTP Let's Encrypt und Java Trust-Store Netzwerkprogrammierung 6
Tobero Java serversocket nicht nur zuganglich für localhost Netzwerkprogrammierung 6
D path-Variablen in eine URL hinzufügen mit Java 1.8 Netzwerkprogrammierung 2
x46 Java SSLContext erstellen mit SSL-Zertifikat Netzwerkprogrammierung 1
P Jenkins Login per Java Download Manager Netzwerkprogrammierung 15
N Java socket Programmierung Filme verschicken Netzwerkprogrammierung 20
K Java Websocketserver Problem | Android to Pi Netzwerkprogrammierung 1
R Anfängerbeispiel: Suche Java-Anwendung die http-Anfragen in Tomcat liest Netzwerkprogrammierung 8
V Browsergame mit Java(WebSocketServer) als Backend? Netzwerkprogrammierung 5
platofan23 Socket Java Socket mit DynDns nicht erreichbar Netzwerkprogrammierung 6
S Fragen zu Java Webservice mit Axis2 Netzwerkprogrammierung 0
M Mit Java Mail Mails an Webmailer schicken Netzwerkprogrammierung 1
mor16Euro HTTP Php website mit Java aktualisiern Netzwerkprogrammierung 6
T HTTP JAVA Browser Konsolenanfrage(JavaScript) Netzwerkprogrammierung 7
L Socket Wie kann man in Java die Anzahl der Objekte in einem InputStream sehen ohne ihn durchgehen zu müssen Netzwerkprogrammierung 1
M Socket peer to peer Verbindung zwischen Java und Matlab Netzwerkprogrammierung 0
L Remote Desktop per Java steuern Netzwerkprogrammierung 4
J Webserver mit Java schreiben? Netzwerkprogrammierung 4
D JAVA RMI Netzwerkprogrammierung 1
K HTTP Mit Java HTML Codeauslesen um damit zu arbeiten Netzwerkprogrammierung 7
V Kann man mit Hilfe eines Java-Programms den Zugriff auf bestimmte Internetseiten verhinden? Netzwerkprogrammierung 3
J HTTP [Java 9] Neuer HTTP Client - Tutorial Netzwerkprogrammierung 3
A Bestimmter URL/Certificate per Java immer vertrauen (Trustmanager/HostnameVerifier) Netzwerkprogrammierung 1
T VPN-Verbindung über Java Netzwerkprogrammierung 4
M HTTP PATCH Request mit Java ausführen Netzwerkprogrammierung 2
Niggo_ Probleme mit Java Mail Netzwerkprogrammierung 14
L FTP Java Interpreter unterbindet SSL Handshake Netzwerkprogrammierung 2
C IFrame mit java auslesen Netzwerkprogrammierung 1
A FTP wie kann ich von java auf datei in fpt://192.168.178.1 lesen/schreiben? Netzwerkprogrammierung 3
C Datensammlung mit Java RMI Netzwerkprogrammierung 0
K Java Jsoup : OnLoad Netzwerkprogrammierung 0
Carres HTTP Vorhandenen Session-ID Cookie von Firefox, Chrome oder IE in Java verwenden Netzwerkprogrammierung 2
B Java+Grbl: G-Code Befehle mit Java an Arduino senden und lesen Netzwerkprogrammierung 1
Z HTTP HTML Element auslesen in Java Netzwerkprogrammierung 1
T Socket Java Programm hängt sich auf bei dem versuch von einem Socket scanner Daten zu erhalten. Netzwerkprogrammierung 1
Thallius HTTP HTTPS unter Java 1.6 schlägt fehl Netzwerkprogrammierung 4
Thallius Java Application über ZScaler benutzer? Netzwerkprogrammierung 0
P Chat in Java Netzwerkprogrammierung 3
C java.net.ConnectException: Operation timed out? Netzwerkprogrammierung 2
T curl request in java umwandeln Netzwerkprogrammierung 4
I Socket Kommunikation C / Java Netzwerkprogrammierung 2
H Machbarkeitsfrage: TCP/IP Client (z.B. Netty) für Java Web Applcation Netzwerkprogrammierung 1
L Java RMI Objekt konsistenz Netzwerkprogrammierung 1

Ähnliche Java Themen

Neue Themen


Oben