package ClientServer;
import java.io.*;
import java.net.*;
public class Server {
static int clientnum = 1;
public static void main(String[] args) throws IOException{
ServerSocket serverSocket = null;
try{
serverSocket = new ServerSocket(7000);
}catch(IOException e) {
System.out.println("Could not listen on port:7000");
System.exit(-1);
}
while(true) {
Socket socket = serverSocket.accept();
new ServerThread(socket,socket.getPort(),clientnum).start();
clientnum++;
}
}
}
package ClientServer;
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) throws IOException{
Socket socket = new Socket("127.0.0.1",7000);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
System.out.println(socket.getLocalPort());
int port = Integer.valueOf(is.readLine());
String readline;
readline = sin.readLine();
while(!readline.equals("Thank you!")) {
os.println(readline);
os.flush();
System.out.println(port + ":" + readline);
System.out.println("Server:" + is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
}
}
package ClientServer;
import java.io.*;
import java.net.*;
public class ServerThread extends Thread{
Socket socket = null;
int num;
int address;
public ServerThread(Socket socket, int address, int num) {
this.socket = socket;
this.address = address;
this.num = num;
}
public void run(){
try {
String readline;
System.out.println("I am listenning");
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
os.println(this.address);
os.flush();
System.out.println(num +"号客户::端口号:" + address + is.readLine());
readline = sin.readLine();
while(!readline.equals("Welcome again!")) {
os.println(readline);
os.flush();
System.out.println(num +"号客户: " + is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
}catch(Exception e) {
System.out.println("Error:" + e);
}
}
}