2010-11-30 32 views
0

Je suis juste travailler sur mon affectation de client-serveur et a trouvé un programme en ligne d'un server.java comme:Programmation Client serveur en Java

import java.io.*; 
import java.net.*; 

public class MyServer{ 

    public static void main(String [] args){ 
     try{ 
     ServerSocket ssc = new ServerSocket(7500); 

     Socket newSsc = ssc.accept(); 
     DataInputStream din = new DataInputStream(newSsc.getInputStream()); 
     DataOutputStream dout = new DataOutputStream(newSsc.getOutputStream()); 

     PrintWriter pw = new PrintWriter(dout); 
     pw.println("Hello! Welcome to vinit's server."); 
     boolean more_data = true; 
     while(more_data){ 
      String line = din.readLine(); 
      if(line == null){ 
       more_data = false; 
      } 
      else{ 
       pw.println("From Server "+line + "\n"); 
       System.out.println("From Client "+line); 
       if(line.trim().equals("QUIT")) 
        more_data = false; 
      } 
     } 
      newSsc.close(); 
     } 
     catch(IOException e){ 
      System.out.println("IO error"); 

     } 

    } 
} 

THEN après avoir utilisé ce serveur en tapant la commande comme
$ telnet 127.0.0.1 7500


maintenant, je veux demander comment mon serveur sera obtenir nulle du client, je veux dire ce qui doit être entré pour que le serveur obtiendra null

Merci à l'avance.

Répondre

1

Vous devez fermer la connexion TCP gracieusement, simplement CTRL + C ou supprimer le programme Telnet ne fera pas, il en résultera une exception dans le code Java.

Ceci est un défi avec telnet, en fonction de la configuration de votre clavier et de votre système d'exploitation.

 
$ telnet localhost 8080 
Trying 127.0.0.1... 
Connected to localhost (127.0.0.1). 
Escape character is '^]'. 
^] 
telnet> quit 
Connection closed. 

Fondamentalement, une fois à l'intérieur telnet vous devrez appuyer sur la touche d'échappement telnet qui, sur mon clavier est CTRL + å et tapez quit, et sur un clavier américain est probablement ce que le programme telnet vous dit, juste CTRL +]

Si vous utilisez le programme netcat au lieu de telnet, vous pouvez simplement frapper ctrl + d, ou un tuyau à un texte, et la connexion sera fermée normalement.

echo "Some text" | nc localhost 7500 
+1

Comment afficher les touches du clavier sur le SO? –

+0

voir http://meta.stackexchange.com/questions/26207/how-can--format-as-keyboard-keys – nos

+0

Merci qui a fonctionné pour moi – codeomnitrix

0

Lorsque vous fermez la connexion.