我正在创建一个简单的Java程序,该程序在启动时会创建两个线程,这些线程中的每个线程都会创建一个侦听不同端口(即端口5500、5100)的服务器,这些服务器各有一个客户端,现在我希望这些服务器能够能够将信息从他们的客户彼此传递。我怎么做。这是我用于服务器的代码
class SocketSeverBrooker extends Thread{
int portNumber = 5500;
ServerSocket serverSocket = null;
int clientID = 10000;
public void run(){
try {
serverSocket = new ServerSocket(portNumber);
while(true){
try{
// i am accepting acconection from a client
Socket clientsocket = serverSocket.accept();
new Thread(new BrokerRunnable(clientsocket)).start();
System.out.println("a broker has connected with id "+ clientID);
clientID++;
}catch(IOException e){
System.out.println("client could not connect");
}
}
}catch (IOException e){
System.out.println("could not create a connection");
}
}
}
class BrokerRunnable implements Runnable{
protected Socket clientsocket;
public BrokerRunnable(Socket clientsocket) {
this.clientsocket = clientsocket;
}
public void run() {
// create two way communication
// this is used to get input from the connected client clientsocket.getInputStream()
// new BufferedReader();
try{
BufferedReader in = new BufferedReader(new InputStreamReader(clientsocket.getInputStream()));
PrintWriter out = new PrintWriter(clientsocket.getOutputStream(),true);// write the sever
String arg1;
arg1 = in.readLine();
System.out.println( arg1);
Scanner scanner = new Scanner(System.in);
String msgToBrokker = scanner.nextLine();
out.println(msgToBrokker);
}catch(IOException e){
System.out.println("could not read");
}
}
}