没听懂,C/S程序在一台机器上实现和在两台机器间实现有什么区别?

解决方案 »

  1.   

    你是要建一个服务器吗?
      

  2.   

    网上的c/s例子程序都只能在同一台机器上实现??!!
    不要乱下结论
      

  3.   

    import java.io.*;
    import java.net.*;public class EchoServer1
    { public static void main(String[] args )
    { try
    {
    ServerSocket s = new ServerSocket(8500);
    Socket incoming = s.accept( );
    BufferedReader in = new BufferedReader
    (new InputStreamReader(incoming.getInputStream()));
    PrintWriter out = new PrintWriter
    (incoming.getOutputStream(), true /* autoFlush */);out.println( "Hello! Enter BYE to exit." );boolean done = false;
    while (!done)
    { String line = in.readLine();
    if (line == null) done = true;
    else
    { out.println("Echo: " + line);if (line.trim().equals("BYE"))
    done = true;
    }
    }
    incoming.close();
    }
    catch (Exception e)
    { System.out.println(e);
    }
    }
    }
    // EchoClient1.java
    import java.io.*;
    import java.net.*;public class EchoClient1 {      
     public static void main(String args[])   {
       try{
          if (args.length != 1){
    System.out.println("USAGE: java Client servername");
    return;
          }
          String  connectto= args[0];
          Socket connection;
          // connect to server
          if(connectto.equals("localhost")){
    connection=new Socket(InetAddress.getLocalHost(),8500);
          }
          else{
    connection=new Socket(InetAddress.getByName(connectto),8500);
          }
          BufferedReader  input=new BufferedReader(new InputStreamReader(connection.getInputStream()));                       
          PrintWriter out = new PrintWriter(connection.getOutputStream(), true /* autoFlush */);

          // read information from server                        
          String info;
          info = input.readLine();
          System.out.println(info);
          boolean done = false;
          BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
          String sInput;
          while(!done){
             sInput = in.readLine();
             out.println(sInput);
             if (sInput.equalsIgnoreCase("bye")) done = true;                           
             info = input.readLine();                           
             System.out.println(info);
         }
         connection.close();                                                               
       }
       catch(SecurityException e){
         System.out.println("SecurityException when connecting Server!");
       }
       catch(IOException e){
         System.out.println("IOException when connecting Server!");   
       }
     }
    } 运行
    1 运行服务器
    java EchoServer1
    2 运行 客户端
    java EchoClient1 server_hostname