JAVA中C/S编程实例

原文链接http://apps.hi.baidu.com/share/detail/33845002

 

服务器代码:Server.java

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

public class Server{

 public static void main(String[] arges){

 try{

 int port = 8888;

 ServerSocket mySocket = new ServerSocket(port);

 

 Socket sk = mySocket.accept();

 BufferedReader in = new BufferedReader (new InputStreamReader(sk.getInputStream ()));

 PrintWriter out = new PrintWriter (new BufferedWriter(new OutputStreamWriter(

 sk.getOutputStream ())), true);

 //System.out.println("客户端信息:"+in.readLine ());

    String ss;

    ss=in.readLine();

    System.out.println("客户端信息:"+ss);

    String str[] = ss.split(" ");

    int a[] = new int[str.length];

    for(int i=0;i<str.length;i++)

    {

    a[i]=Integer.parseInt(str[i]);

    }

    int sum=0,j;

    for(j=0;j<a.length;j++){

     sum=sum+a[j];

    }    

 out.println("你好,我是服务器。我使用的端口号: "+port+"得到的数据总和为:"+sum);

 sk.close();

 }catch(Exception e){

 System.out.println(e);

 }

 }

 }
客户机代码:Client.java

import java.io.*;

import java.net.*;

 public class Client {

 public static void main(String[] arges) {

  try {

   InetAddress addr = InetAddress.getByName(null);

   Socket sk = new Socket(addr, 8888);

 

   BufferedReader in = new BufferedReader(new InputStreamReader(sk

     .getInputStream()));

   PrintWriter out = new PrintWriter(new BufferedWriter(

     new OutputStreamWriter(sk.getOutputStream())), true);

    InputStreamReader str=new InputStreamReader(System.in);
                       char[] a=new char[100];
                       str.read(a);
                      out.println(new String(a));

   System.out.println(in.readLine());

  } catch (Exception e) {

   System.out.println(e);

  }

 }

}


 功能:客户输入一组数字,服务器计算出这组数的和并将结果返回给客户。该程序让我彻底理解了c/s编程模式。

   String str;
   BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
   str=buf.readLine();
   out.println(str);

posted @ 2012-02-28 22:07  Matrix_  阅读(4793)  评论(0编辑  收藏  举报