你的代码还是不全啊,每过100毫秒创建一个Client实例,但是又不运行这个线程。
我不知道你你想干什么?网友,能不能把要做的东西说的详细一点,不会是想让我们
猜你的想法吧!

解决方案 »

  1.   

    建议将ConClient类中:
    while(setup){
        new Client(addr);
        Thread.currentThread().sleep(100);
          }
    改为:
    while(true){
         if(setup){
               new Client(addr);                
               }
         Thread.currentThread().sleep(100);
           }
    则在你按了setup按钮后,每隔0。1秒产生一个连接。
    如果你是想每按动setup按钮就产生一个客户端的连接的话,
    则需要一个恢复setup为false的机制。
      

  2.   

    对不起,代码应该是这样的
    package Clientconect;import javax.swing.UIManager;
    import java.net.*;
    import java.io.*;class Client extends Thread{
      private Socket socket;
      private BufferedReader in;
      private PrintWriter out;
      private static int count=0;
      private int id=count++;
      boolean packFrame = false;
      private String str;  //Construct the application
      public Client(InetAddress addr) {
        str=" MAKING THE CLIENT"+id;
        Frame1 frame = new Frame1();
        //Validate frames that have preset sizes
        //Pack frames that have useful preferred size info, e.g. from their layout
        if (packFrame)
          frame.pack();
        else
          frame.validate();
        frame.setVisible(true);
        try {
          socket=new Socket(addr,8000);
        }catch (IOException e) {}
        try{
          in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
          out =new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
          }catch (IOException e) {
          try {
            socket.close();
            }catch(IOException e2){}
            start();
          }
        }
        public void run(){
          try{
            while (true){
              str=in.readLine();
              out.println(str);
              }
              }catch (IOException e) {}
              finally{
                try{
                  socket.close();
                  }catch(IOException e){}
                }
              }
            }
    public class ConClient{
      static boolean setup;
      public ConClient(){
      boolean packFrame = false;
        StartFrame startframe=new StartFrame();
            if (packFrame)
          startframe.pack();
        else
          startframe.validate();
        startframe.setVisible(true);
        }
      public static void main(String[] args)
        throws IOException ,InterruptedException{
        new ConClient();
        InetAddress addr=InetAddress.getByName(null);
        while(setup){
        new Client(addr);
        Thread.currentThread().sleep(100);
          }
        }
      }
      

  3.   

    那请问lmy2000(pluto)
    在程序里的setup的值为什么会没变呢,我主要是想解决这个问题