不是线程的问题,现在只是要实现双方不断的发送消息,直到Cilent发送"exit",然后结束之间对话!

解决方案 »

  1.   

    给你一段代码希望对你有用
    while(line!=null && !exitflag){
    line=line.trim();
    if (line.equalsIgnoreCase("'quit'") )
    {//如果是退出命令,则关闭当前套接字上的输入输出流
    in.close();
    out.flush();
    out.close();
    return;   //退出当前的服务逻辑线程单元
    }
      

  2.   

    while(line!=null && !exitflag){
    line=line.trim();
    if (line.equalsIgnoreCase("exit") )
    {//如果是退出命令,则关闭当前套接字上的输入输出流
    in.close();
    out.flush();
    out.close();
    return;   //退出当前的服务逻辑线程单元
    }
      

  3.   

    我又想了想,只要在客户端循环就可以了,但是不知道怎么加
    程序是这样:import java.net.*;
    import java.io.*;public class myClient2
    {
       public static void main( String[ ] args )
       {
          try
          {
             Socket s = new Socket( "192.168.0.88", 5656 );
             PrintStream out = new PrintStream( s.getOutputStream( ) );
             BufferedReader in = new BufferedReader( new InputStreamReader( s.getInputStream( ) ) );
             BufferedReader std = new BufferedReader( new InputStreamReader( System.in ) );
             String x = in.readLine( );   //如果是在这之前加( while(x....)),就会提示你x变量没有定义之类的
             System.out.println( x );
             String x1 = std.readLine( );
             out.println( x1 );
             out.close( );
             s.close( );
             in.close( );     
          }
          catch( IOException e )
          {
          }
       }
    }请高手,帮我简单实现我要的目的,小弟万分感谢!!!!!
      

  4.   

    String x;while(!((x = in.readLine()).equals("exit"))){
         ...
    }若不用线程只能一问一答
      

  5.   

    楼上的方法也不对,还是问一次,答一次就完了,而且还有错误
    Exception in thread "main" java.lang.NullPointerException
            at myClient2.main(myClient2.java:15)
      

  6.   

    服务器接收要新建一个现成来去通信Server 改一改
             while( true )
             {
                Socket s = ss.accept( );
                new MySession(s).start();
             }增加一个MySession.java
    public class MySession extends Thread{
       private Socket s;
       public MySession(Socket s){
          this.s = s;
       }
       public void run(){
          //在这里才开始通信
          InputStream is = s.getInputStream();
          OutputStream os = s.getOutputStream();
          //...............
       }
    }
      

  7.   

    客户端和服务端的in.readLine部分都改成
    String line;
    whlie ((line = in.readLine) != null) {
       ..........
    }