用线程写的一个服务器端一个客户端,应该都能向对方发送字符串,可服务器端向客户发送时就会出现错误,不能正常发送,帮帮忙看看

解决方案 »

  1.   

    就在底下那个Socket里面..谢谢..
      

  2.   

    呵呵,楼上说了好多了,呵呵,你什么都没有,
    只有那么一句,我想你只有Google或者baidu了
      

  3.   

    /**
     * @(#)Client.java
     *
     *
     * @author 
     * @version 1.00 2008/3/16
     */
    import java.io.*;
    import java.net.*;
    import java.util.*;public class Client extends Thread{
    static Socket s2;
    private String check;
        public Client(String check) {
         super();
         this.check = check;
        }
        public void run(){
        try{
        if(this.check == "input"){
    OutputStream os = s2.getOutputStream();
         PrintStream ps = new PrintStream(os);
         BufferedReader isr = new BufferedReader(new InputStreamReader(System.in));
         for(;;){
         synchronized(this){
         ps.println(isr.readLine());
         ps.flush();
         }
        
         } 
        }else{
        InputStream ism = s2.getInputStream();
         for(;;){
         BufferedReader ii = new BufferedReader(new InputStreamReader(ism));
         System.out.println(ii.readLine());
         }
        }
        }catch(Exception e){
    }
        }
        public static void main(String[] args){
         try{
         s2 = new Socket(InetAddress.getLocalHost(),1234);
    Client a = new Client("input");
    a.start();
    Client b = new Client("output");
    b.start();
         }catch(Exception e ){
        
         }
        }
    }
    +++++++++++++++++++++++++++++++++
    ++++++++++++++++++++++++++++++++++
    /**
     * @(#)Service.java
     *
     *
     * @author 
     * @version 1.00 2008/3/16
     */
    import java.io.*;
    import java.net.*;
    import java.util.*;public class Service extends Thread{
    static ServerSocket ss;
    static Socket conn;
    static String s ;
    private String check;
        public Service(String check) {
         super();
         this.check = check;
        }
        
       public void run(){
        try{
        if(this.check == "input"){
        InputStream o = conn.getInputStream();
    BufferedReader br = new BufferedReader(new InputStreamReader(o));
    for(;;){
        System.out.println(br.readLine());   
    }
    //br.close();
    //o.close();
        }else{
         OutputStream i = conn.getOutputStream();
         PrintStream ps = new PrintStream(i);
         BufferedReader isr = new BufferedReader(new InputStreamReader(System.in));
         for(;;){
         synchronized(this){
         ps.println(isr.readLine());
         ps.flush();
         }
         }
         //ps.close();
         //i.close();
        }
        }catch(Exception e){
    }
        }
        public static void main(String[] args){
         try{
         ss = new ServerSocket(1234);
         System.out.println("等待连接");
         conn = ss.accept();
         System.out.println("有一个用户连接!!!");
    Service a = new Service("input");
        a.start(); 
        Service b = new Service("output");
        b.start(); 
        //conn.close();       
         }catch(Exception e){
         }
        
        
        }
    }
      

  4.   

    /** 
    * @(#)Client.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Client extends Thread{ 
    static Socket s2; 
    private String check; 
        public Client(String check) { 
        super(); 
        this.check = check; 
        } 
        public void run(){ 
      try{ 
      if(this.check == "input"){ 
    OutputStream os = s2.getOutputStream(); 
        PrintStream ps = new PrintStream(os); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        
        } 
      }else{ 
      InputStream ism = s2.getInputStream(); 
        for(;;){ 
        BufferedReader ii = new BufferedReader(new InputStreamReader(ism)); 
        System.out.println(ii.readLine()); 
        } 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        s2 = new Socket(InetAddress.getLocalHost(),1234); 
    Client a = new Client("input"); 
    a.start(); 
    Client b = new Client("output"); 
    b.start(); 
        }catch(Exception e ){ 
        
        } 
        } 

    +++++++++++++++++++++++++++++++++ 
    ++++++++++++++++++++++++++++++++++ 
    /** 
    * @(#)Service.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Service extends Thread{ 
    static ServerSocket ss; 
    static Socket conn; 
    static String s ; 
    private String check; 
        public Service(String check) { 
        super(); 
        this.check = check; 
        } 
        
      public void run(){ 
      try{ 
      if(this.check == "input"){ 
        InputStream o = conn.getInputStream(); 
    BufferedReader br = new BufferedReader(new InputStreamReader(o)); 
    for(;;){ 
        System.out.println(br.readLine());   

    //br.close(); 
    //o.close(); 
      }else{ 
        OutputStream i = conn.getOutputStream(); 
        PrintStream ps = new PrintStream(i); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        } 
        //ps.close(); 
        //i.close(); 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        ss = new ServerSocket(1234); 
        System.out.println("等待连接"); 
        conn = ss.accept(); 
        System.out.println("有一个用户连接!!!"); 
    Service a = new Service("input"); 
      a.start(); 
      Service b = new Service("output"); 
      b.start(); 
      //conn.close();     
        }catch(Exception e){ 
        } 
        
        
        } 
    }
      

  5.   

    /** 
    * @(#)Client.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Client extends Thread{ 
    static Socket s2; 
    private String check; 
        public Client(String check) { 
        super(); 
        this.check = check; 
        } 
        public void run(){ 
      try{ 
      if(this.check == "input"){ 
    OutputStream os = s2.getOutputStream(); 
        PrintStream ps = new PrintStream(os); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        
        } 
      }else{ 
      InputStream ism = s2.getInputStream(); 
        for(;;){ 
        BufferedReader ii = new BufferedReader(new InputStreamReader(ism)); 
        System.out.println(ii.readLine()); 
        } 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        s2 = new Socket(InetAddress.getLocalHost(),1234); 
    Client a = new Client("input"); 
    a.start(); 
    Client b = new Client("output"); 
    b.start(); 
        }catch(Exception e ){ 
        
        } 
        } 

    +++++++++++++++++++++++++++++++++ 
    ++++++++++++++++++++++++++++++++++ 
    /** 
    * @(#)Service.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Service extends Thread{ 
    static ServerSocket ss; 
    static Socket conn; 
    static String s ; 
    private String check; 
        public Service(String check) { 
        super(); 
        this.check = check; 
        } 
        
      public void run(){ 
      try{ 
      if(this.check == "input"){ 
        InputStream o = conn.getInputStream(); 
    BufferedReader br = new BufferedReader(new InputStreamReader(o)); 
    for(;;){ 
        System.out.println(br.readLine());   

    //br.close(); 
    //o.close(); 
      }else{ 
        OutputStream i = conn.getOutputStream(); 
        PrintStream ps = new PrintStream(i); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        } 
        //ps.close(); 
        //i.close(); 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        ss = new ServerSocket(1234); 
        System.out.println("等待连接"); 
        conn = ss.accept(); 
        System.out.println("有一个用户连接!!!"); 
    Service a = new Service("input"); 
      a.start(); 
      Service b = new Service("output"); 
      b.start(); 
      //conn.close();     
        }catch(Exception e){ 
        } 
        
        
        } 
    }
      

  6.   

    /** 
    * @(#)Client.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Client extends Thread{ 
    static Socket s2; 
    private String check; 
        public Client(String check) { 
        super(); 
        this.check = check; 
        } 
        public void run(){ 
      try{ 
      if(this.check == "input"){ 
    OutputStream os = s2.getOutputStream(); 
        PrintStream ps = new PrintStream(os); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        
        } 
      }else{ 
      InputStream ism = s2.getInputStream(); 
        for(;;){ 
        BufferedReader ii = new BufferedReader(new InputStreamReader(ism)); 
        System.out.println(ii.readLine()); 
        } 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        s2 = new Socket(InetAddress.getLocalHost(),1234); 
    Client a = new Client("input"); 
    a.start(); 
    Client b = new Client("output"); 
    b.start(); 
        }catch(Exception e ){ 
        
        } 
        } 

    +++++++++++++++++++++++++++++++++ 
    ++++++++++++++++++++++++++++++++++ 
    /** 
    * @(#)Service.java 


    * @author 
    * @version 1.00 2008/3/16 
    */ 
    import java.io.*; 
    import java.net.*; 
    import java.util.*; public class Service extends Thread{ 
    static ServerSocket ss; 
    static Socket conn; 
    static String s ; 
    private String check; 
        public Service(String check) { 
        super(); 
        this.check = check; 
        } 
        
      public void run(){ 
      try{ 
      if(this.check == "input"){ 
        InputStream o = conn.getInputStream(); 
    BufferedReader br = new BufferedReader(new InputStreamReader(o)); 
    for(;;){ 
        System.out.println(br.readLine());  

    //br.close(); 
    //o.close(); 
      }else{ 
        OutputStream i = conn.getOutputStream(); 
        PrintStream ps = new PrintStream(i); 
        BufferedReader isr = new BufferedReader(new InputStreamReader(System.in)); 
        for(;;){ 
        synchronized(this){ 
        ps.println(isr.readLine()); 
        ps.flush(); 
        } 
        } 
        //ps.close(); 
        //i.close(); 
        } 
      }catch(Exception e){ 

        } 
        public static void main(String[] args){ 
        try{ 
        ss = new ServerSocket(1234); 
        System.out.println("等待连接"); 
        conn = ss.accept(); 
        System.out.println("有一个用户连接!!!"); 
    Service a = new Service("input"); 
      a.start(); 
      Service b = new Service("output"); 
      b.start(); 
      //conn.close();    
        }catch(Exception e){ 
        } 
        
        
        }