import java.net.*; import java.io.*; public class PeerServer extends Thread { int peerCounter = 0; ServerSocket serverSocket = null; boolean listening = true; PeerServerThread PST; PeerServerThread[] PSTArray; Peer parent; public PeerServer(Peer p) { super("PeerServer"); parent = p; PSTArray = new PeerServerThread[256]; } public void run() { try { serverSocket = new ServerSocket(4444); } catch (IOException e) { System.err.println("Could not listen on port: 4444."); System.exit(-1); } while (listening) { try{ PST = new PeerServerThread(serverSocket.accept(), "Peer Server " + String.valueOf(peerCounter), parent); } catch(IOException e) { } PSTArray[peerCounter] = PST; peerCounter++; PST.start(); } try{ serverSocket.close(); } catch(IOException e) { } } public synchronized void bcastString(String msg, String s) { int i; System.out.println("PeerServer msg: " + msg + " " + s); for(i = 0; i < peerCounter; i++) { if(PSTArray[i].getName() != s) PSTArray[i].sendString(msg); } } }