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);