2010-04-25 9 views
1

Je construis une application de serveur client en utilisant Java Sockets (sous Windows XP). Pour cela j'ai besoin de différentes consoles pour le client et le serveur (pour les opérations d'entrée et de sortie). Mais en éclipse, les deux partagent une seule console. Y at-il un plugin ou une sorte de triche à travers lequel je peux le faire.Console unique en éclipse pour le serveur et le client

Après googler je suis arrivé ce,

http://dev.eclipse.org/newslists/news.eclipse.newcomer/msg17138.html

Mais, cela semble être que pour les opérations d'écriture, pas lu les opérations.

Aussi, j'ai essayé ce qui suit pour lancer l'application manuellement, mais même cela ne fonctionne pas ........

package mypack; 
import java.io.BufferedOutputStream; 
import java.io.File; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.OutputStream; 
import java.io.PrintStream; 


public class MySystem { 

    public static void changeStream(String mainFile) throws IOException{ 

     File temp = new File(".") ; 
     String parentPath = temp.getCanonicalPath() ; 

     System.out.println(parentPath); 

     //creation of batch file starts here 
     try{ 
      File f = new File(parentPath + "\\a.bat") ; 
      System.out.println("Created : " + f.createNewFile()); 
      //f.deleteOnExit() ; 

      FileOutputStream fos = new FileOutputStream(f) ; 

      String str = "java " + mainFile ; 
      String batchCommand="@echo off\n"+str+"\npause\nexit"; 

      char arr[] = batchCommand.toCharArray() ; 
      System.out.println(str) ; 
      for(int i = 0 ; i < arr.length ; i++){ 
       fos.write(arr[i]) ; 
      } 
      fos.close() ; 
     } 
     catch(Exception e){ 
     } 
     //creation of batch file ends here 

     //execution of batch file starts here       
     try{ 
      Runtime r = Runtime.getRuntime() ; 

      System.out.println(parentPath + "\\a.bat") ; 

      Process p = r.exec(new String[]{"cmd","/k","start a.bat"},null,new File(parentPath)) ; 

      OutputStream os = (OutputStream)p.getOutputStream() ; 
      System.setOut(new PrintStream(os)) ; 

      System.out.println("Hello"); 

     } 
     catch(Exception e){ 
      e.printStackTrace(); 
     } 
     //execution of batch file ends here 
    } 

    public static void main(String[] args) throws IOException { 
     MySystem.changeStream("MySystem") ; 
    } 
} 


Ok Guyz, je ne précédemment » Je sais que plusieurs consoles sont disponibles dans Eclipse. Mais maintenant je l'ai eu de here, c'est pourquoi la fermeture de ce fil. Salutations :)

Répondre

0

J'ai seulement trouvé que vous pouvez le faire avec des lancements distincts dans Eclipse (vous devez donc d'abord lancer votre serveur, puis votre client).

Malheureusement, chaque console est alors un volet dans la vue Console, et non sa propre console, vous devez donc basculer manuellement, mais c'est le meilleur que j'ai trouvé jusqu'ici.

+0

j'ai obtenu également les points suivants en googler: - http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F et http://stackoverflow.com/questions/104254/java-io-console-support- in-éclipse-ide en googlant ..... – mogli

Questions connexes