client.java
import java.io.*;
import java.net.*;
/**
*
*client.java
*
*/
public class client{
public final static int REMOTE_PORT=5000;
public static void main(String argv[]){
String output=null;
String userinput=null;
String input;
String out;
int n;
secret sec=new secret();
int [] a=new int[500];
char [] b=new char[500];
char [] d=new char[500];
char[] f=new char[500];
Socket c=null;
BufferedReader is=null;
DataOutputStream os=null;
BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in));
try{
c=new Socket("127.0.0.1",REMOTE_PORT);
is=new BufferedReader(new InputStreamReader(c.getInputStream()));
os=new DataOutputStream(c.getOutputStream());
}catch(UnknownHostException e1){
System.out.println("Unknown Host:"+e1);
}catch(IOException e2){
System.out.println("Error io:"+e2);
}
//对输入信息进行加密,将结果放入a数组中
try{
System.out.println("please input messages to send:");
userinput=stdin.readLine();
for(int i=0;i<userinput.length();i++)
b[i]=userinput.charAt(i);
//对数据加密
for(int i=0;b[i]!='\0';i++){
a[i]=(int)b[i];
}
//输入移动的位数
n=sec.move();
d=sec.addsecret(a);
//显示加密结果
System.out.print("加密结果: ");
for(int i=0;d[i]!='\0';i++){
System.out.print(d[i]);
}
os.write(n);
for(int i=0;i<d.length;i++)
{
os.write(d[i]);
}
}catch(IOException ex){
System.out.println("error writing to server."+ex);
}
System.out.println(" ");
//将从服务器接受到的信息显示出来
System.out.print("从服务器收到: ");
try{
for(int i=0;i<500;i++)
{
f[i]=(char)is.read();
}
for(int i=0;f[i]!='\0';i++)
{
System.out.print(f[i]);
}
System.out.println("");
}catch(IOException e){
e.printStackTrace();
}
try{
is.close();
os.close();
c.close();
}catch(IOException e2){
System.out.println("error writing...)"+e2);
}
}
}



java socket编程(客户端) 

prophecy
