怎样在一个类中同时使用serversocket和clientsocket呢?

解决方案 »

  1.   

    ServerSocket svrsck;
    ClientSocket cltsck;
    就可以了。
      

  2.   

    package cs;import java.net.*;
    import java.io.*;public class socketclient{

    public static void main(String[] args){
    String str;
    try{

    InetAddress addr=InetAddress.getByName("127.0.0.1");
    Socket socket = new Socket(addr,8001);
    System.out.println("Socket: "+socket);

    InputStream fin=socket.getInputStream();
    OutputStream fout=socket.getOutputStream();

    InputStreamReader isr=new InputStreamReader(fin);
    BufferedReader in = new BufferedReader(isr);

    PrintStream out = new PrintStream(fout);
    InputStreamReader userisr = new InputStreamReader(System.in);
    BufferedReader userin = new BufferedReader(userisr);

    while(true){
    System.out.print("发送字符串:");
    str=userin.readLine();
    out.println(str);

    if(str.equals("end")) break;
    System.out.println("等待服务器消息....");
    str=in.readLine();
    System.out.println("服务器字符串:"+str);
    if(str.equals("end")) break;
    }//while
    socket.close();
    //server.close();
    } //try
    catch(Exception e){
    System.out.println("异常:"+e);
    }
    }
    } package cs;import java.net.*;
    import java.io.*;public class socketserver{
    public static final int port=8001;

    public static void main(String[] args){
    String str;
    try{
    ServerSocket server=new ServerSocket(port);
    System.out.println("Started: "+server);
    Socket socket = server.accept();
    System.out.println("Socket: "+socket);

    InputStream fin=socket.getInputStream();
    OutputStream fout=socket.getOutputStream();
    InputStreamReader isr=new InputStreamReader(fin);

    BufferedReader in = new BufferedReader(isr);
    PrintStream out = new PrintStream(fout);
    InputStreamReader userisr = new InputStreamReader(System.in);
    BufferedReader userin = new BufferedReader(userisr);

    while(true){
    System.out.println("等待客户端消息....");
    str=in.readLine();
    System.out.println("客户端:"+str);

    if(str.equals("end")) break;
    System.out.println("给客户端发送:");
    str=userin.readLine();
    out.println(str);
    if(str.equals("end")) break;
    }//while
    socket.close();
    server.close();
    } //try
    catch(Exception e){
    System.out.println("异常:"+e);
    }
    }
    }