BufferedReader br=new BufferedReader(new InputStreamReader(in));
                    
                    while((temp=br.readLine())!=null)
                    {
                    
                     System.out.println("receive client message :"+ temp); 
                     if(!temp.equals(""))
                     {
                     String divide[]=temp.split("/");
                     Sql log =new Sql();
                    
                     if(log.Logo(divide[0], divide[1])==1)
                     {
                     OutputStream out=socket.getOutputStream();
                                     PrintWriter pw=new PrintWriter(out,true);
                                     pw.println("1");
                     log.update_Ip(string_ip,divide[0]);
                     }
                  }
                                         }请问我这样写为什么不能像客户端写入“1”呢??

解决方案 »

  1.   


    import java.io.IOException;
    import java.io.*;
    import java.io.OutputStream;import java.net.*;
    import java.io.DataOutputStream;import java.io.InputStream;
    import java.util.LinkedList;
    import java.util.List;public class EchoServer {


    private int isOk;
        private ServerSocket ss = null;
             class ReceiveThread extends Thread {
        
            private Socket socket = null;
                    public ReceiveThread(Socket socket) {
                super("ReceiveThread");
                this.socket = socket;
               
            }   
            public void run() {
                InputStream in = null;
                while (true) {                try {
                        in = socket.getInputStream();
                        InetAddress ip=socket.getInetAddress();
                        String string_ip=ip.toString().substring(1);
                        String temp;
                        System.out.println("连接ip"+ip);
                        BufferedReader br=new BufferedReader(new InputStreamReader(in));
                        
                        while((temp=br.readLine())!=null)
                        {
                        
                         System.out.println("receive client message :"+ temp); 
                         if(!temp.equals(""))
                         {
                         OutputStream out = socket.getOutputStream();
                                PrintWriter pw=new PrintWriter(out,true);
                                         pw.println("1");
                         String divide[]=temp.split("/");
                         Sql log =new Sql();
                        
                         if(log.Logo(divide[0], divide[1])==1)
                         {
                        
                         log.update_Ip(string_ip,divide[0]);
                         }
                      }
                                             }
                    } catch (IOException e) {
     
                        try {socket.close();
                            in.close();
                            //dis.close();
                        } catch (IOException e1) {
                            e1.printStackTrace();
                        }
                        
                        e.printStackTrace();
                    }
                }        }
        }
        public void send(Socket socket) throws IOException {
           
              
                
           
        }    public class AcceptSocketThread extends Thread {
            public AcceptSocketThread() {
                super("AcceptSocketThread");
            }
           
            public void run() {
                try {
                    ss = new ServerSocket(6000);                while (true) {
                        Socket socket = ss.accept();
                        
                       
                        
                        new ReceiveThread(socket).start();
                        
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                   try{
                    ss.close();
                    } 
                   catch(IOException e2)
                   {}
                    
                }        }
        }    public void start() {
            new AcceptSocketThread().start();
            
        }
    }还是把全部代码贴出来吧!!
    客户端没问题,关键是服务器的问题。OutputStream out = socket.getOutputStream();
                                PrintWriter pw=new PrintWriter(out,true);
                                         pw.println("1");
    这段代码已经是执行了,但是客户端收不到
      

  2.   

    为什么把OutputStream out = socket.getOutputStream();
                                    PrintWriter pw=new PrintWriter(out,true);
                                                pw.println("1");移动到WHILE的前面就能收到呢??