Ergebnis 1 bis 3 von 3

Thema: Socket-Server beendet sich selbst?

  1. #1
    JanuaR
    Gast

    Standard Socket-Server beendet sich selbst?

    Hi,

    ich möchte einen Socket-Server sowie einen dazugehörigen Client programmieren. In der Anfangsphase (um damit vertraut zu werden), möchte ich lediglich nur, dass der ich etwas vom Client abschicke (einen String) und der Server mir das zurück gibt, was ich geschrieben habe! Klingt äußerst simpel, aber jeder fängt mal klein an

    Mein Problem ist jetzt aber, dass wenn ich vom Client etwas abschicke und der Client sich quasi beendet, beendet sich auch automatisch der Server mit dem Grund: socket closed !

    Hier der Code vom Server:
    Code:
    import java.io.*;
    import java.net.*;
    
    public class Server {
    
        private String authinfo = "pmbs";
        ServerSocket Master = new ServerSocket(9999);
    
        private void send(Socket socket, Object tmp) throws IOException {
            BufferedWriter wr;
            wr = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            wr.write(tmp.toString());
            wr.flush();
            wr.close();
        }
    
        Server() throws IOException {
            while (true) {
                Socket Client = Master.accept();
    
                BufferedReader rd = new BufferedReader(new InputStreamReader(Client.getInputStream()));
    
                String str;
                while ((str = rd.readLine()) != null) {
    
                    String[] args = str.split(" ");
                    String command = args[0];
                    String auth = args[1];
    
                    if (auth.equals(authinfo)) {
    
                        if (command.equals("reply")) {
                            String tmp = "";
                            for &#40;int i = 2; i < args.length; i++&#41; &#123;
                                tmp = tmp + " " + args&#91;i&#93;;
                            &#125;
                            send&#40;Client, tmp&#41;;
                        &#125;
    
                    &#125;
                &#125;
    
                rd.close&#40;&#41;;
    
                Client.close&#40;&#41;;
    
            &#125;
        &#125;
    
        public static void main&#40;String&#91;&#93; args&#41; &#123;
            try &#123;
                Server server = new Server&#40;&#41;;
            &#125; catch &#40;IOException ex&#41; &#123;
                System.out.println&#40;ex.getMessage&#40;&#41;&#41;;
            &#125;
        &#125;
    &#125;
    ..und vom Client:

    Code:
    import java.net.*;
    import java.io.*;
    
    public class Client &#123;
    
        Client&#40;&#41; throws IOException &#123;
            Socket Master = new Socket&#40;"localhost", 9999&#41;;
    
            BufferedWriter wr = new BufferedWriter&#40;new OutputStreamWriter&#40;Master.getOutputStream&#40;&#41;&#41;&#41;;
            wr.write&#40;"reply pmbs check check yoaar\n"&#41;;
            wr.flush&#40;&#41;;
            
            BufferedReader rd = new BufferedReader&#40;new InputStreamReader&#40;Master.getInputStream&#40;&#41;&#41;&#41;;
            String str;
            while &#40;&#40;str = rd.readLine&#40;&#41;&#41; != null&#41; &#123;
                System.out.println&#40;str&#41;;
            &#125;
            rd.close&#40;&#41;;
            wr.close&#40;&#41;;
        &#125;
    
        public static void main&#40;String&#91;&#93; args&#41; &#123;
            try &#123;
                Client client = new Client&#40;&#41;;
            &#125; catch &#40;Exception ex&#41; &#123;
                System.out.println&#40;ex.getMessage&#40;&#41;&#41;;
            &#125;
        &#125;
    &#125;
    Ich hoffe ihr könnt mir ein wenig auf die Sprünge helfen... Danke!

    Gruß,
    Jan
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    König(in)
    Registriert seit
    06.06.2007
    Ort
    Bi
    Beiträge
    1.015
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard

    Hi also zunächst erstmal sollte man Variabeln immer klein Schreiben, das ist alleine für die Übersichtlichkeit zwischen Variabeln und statischen Methoden wichtig, damit man gleich den Unterschied sieht.

    Du machst einen Denkfehler, du lässt erst den Client die Daten abschicken an den Server , kriegst dann vom Server nen versuch zu antworten und öffnest dann erst den reader.

    PS: Ein Socket schließt sich nicht einfach selbst , nur ein Fehler macht dies
    Sämtlicher Code erhebt keinen Anspruch auf syntaktische Korrektheit geschweige denn Ausführbarkeit und ist für die Implementation außerhalb der Beispiele nicht geeignet.

    Kein Support für kommerzielle Scripts | Kein kostenloser Support via ICQ

  3. #3
    Gast

    Standard

    hi, danke schonmal für die schnelle Antwort!

    Du machst einen Denkfehler, du lässt erst den Client die Daten abschicken an den Server , kriegst dann vom Server nen versuch zu antworten und öffnest dann erst den reader.
    Ja aber ist es nicht richtig so? Im Endeffekt kann der Client ja nicht etwas empfangen bevor er nicht die Anweisung gegeben hat, etwas senden zu lassen oder verstehe ich das falsch?

    Gruß

Ähnliche Themen

  1. spiel beendet sich von alleine
    Von ewShin im Forum Computer - Internet Forum
    Antworten: 5
    Letzter Beitrag: 10.10.2007, 00:31
  2. PC hängt sich dauernd auf selbst wenn nix offen ist
    Von gast im Forum Computer - Internet Forum
    Antworten: 9
    Letzter Beitrag: 01.06.2007, 20:39
  3. Zope beendet sich selbst
    Von cweyand im Forum Zope & Plone - das deutsche Hilfeforum
    Antworten: 2
    Letzter Beitrag: 30.04.2007, 18:40
  4. NERO 6,6,0,17 beendet sich einfach so!
    Von sheepdog im Forum Computer - Internet Forum
    Antworten: 0
    Letzter Beitrag: 10.12.2006, 18:17
  5. Links auf sich selbst verweisen
    Von mcReaper im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 12.07.2005, 12:56

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •