服务端: ServerSocket serverSocket=new ServerSocket(5471);
客户端:Socket socket=new Socket(InetAddress.getLocalHost(),5471);
InetAddress.getLocalHost():获得计算机名和IP地址,如:USER-20140213SH/192.168.1.103
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));从控制台接收一个字符串
BufferedReader socketIs=new BufferedReader(new InputStreamReader(socket.getInputStream())); //从socket对象接收一个输入流
PrintWriter socketOs=new PrintWriter(socket.getOutputStream()); //从socket对象接收一个输出流
服务端程序:
public static void Server() throws IOException
{
ServerSocket serverSocket=new ServerSocket(5471);
Socket clientSocket=serverSocket.accept();
BufferedReader is=new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
PrintWriter os=new PrintWriter(clientSocket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
while(true){
String str=is.readLine();
System.out.println("Client : "+str);
os.println(sin.readLine());
os.flush();//刷新输出流,使Client马上收到该字符串
if(str.equals("end"))
{
break;
}
}
is.close();
os.close();
clientSocket.close();
serverSocket.close();
}
客户端程序:
public static void Client() throws IOException
{
Socket socket=new Socket(InetAddress.getLocalHost(),5471);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
BufferedReader socketIs=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter socketOs=new PrintWriter(socket.getOutputStream());
while(true){
String str=sin.readLine();
socketOs.println(str);
socketOs.flush(); //刷新输出流,使Server马上收到该字符串
String s=socketIs.readLine();
System.out.println("Server : "+s);//在标准输出上打印从Server读入的字符串
System.out.println();
if(str.equals("end")){
break;
}
}
socketIs.close();//关闭Socket输入流
socketOs.close();//关闭Socket输出流
socket.close();//关闭Socket
}