S端
package edu.cust.test;
import java.io.BufferedReader;
//import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server implements Runnable{
private int port;
private ServerSocket server ;
private Socket socket ;
private BufferedReader in;
private PrintWriter out;
private BufferedReader get;
public Server(Socket socket){
this.socket = socket;
}
public void run(){
init();
getSend();
}
private void init(){
try{
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
get = new BufferedReader(new InputStreamReader(System.in));
out = new PrintWriter(socket.getOutputStream());
}catch(Exception e){}
}
private void getSend(){
String str;
try{
while(!(str = in.readLine()).equalsIgnoreCase("#end")){
System.out.println("I am Server i was received : " + str+" from Client.");
System.out.println("Please send Message to Client !");
out.println("get.readLine()");
out.flush();
}
System.out.println("Client has unConnect !");
in.close();
out.close();
socket.close();
server.close();
}catch(Exception e){}
}
public static void main(String[] args) {
int port = 6789;
int MaxClientNum = 10;
try{
ServerSocket server = new ServerSocket(port);
System.out.println("Server has init !");
for(int i=0;i<MaxClientNum;i++){
Socket socket = server.accept();
System.out.println("Server has accept a Client !");
Thread thread = new Thread(new Server(socket));
thread.start();
}
}catch(Exception e){System.err.println(e);}
}
}
C端
package edu.cust.test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
public class Client {
private String IP;
private int port;
private Socket socket;
private PrintWriter out;
private BufferedReader in;
private BufferedReader get;
public Client(String IP,int port){
this.IP = IP;
this.port = port;
try{
socket = new Socket(this.IP,this.port);
System.out.println("I am Client ,i has connect server which IP : "+IP+" port : "+port);
out = new PrintWriter(socket.getOutputStream());
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
get = new BufferedReader(new InputStreamReader(System.in));
SendToServer();
}catch(Exception e){
System.err.println(e);
}
}
private void SendToServer(){
String str;
try{
do{
System.out.println("You can Send Message to Server now !");
str = get.readLine();
out.println(str);
if(!str.equals("#end")){
System.out.println("you send : "+str+" to Server !");
}
out.flush();
System.out.println("Watting Server response !");
System.out.println("Server have response "+in.readLine()+" !");
}while(!str.equals("#end"));
in.close();
out.close();
get.close();
}catch(Exception e){}
System.out.println("Client unBind Server !");
}
public static void main(String[] args) {
new Client("127.0.0.1",6789);
}
}