package no.ntnu.fp.net.network;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Scanner;
public class TestCommunicationServer implements Runnable {
//fields
private HashMap<String, Socket> clients;
private ArrayList<DataOutputStream> osList;
private Scanner input;
private ArrayList<Socket> clientList;
private DataOutputStream os;
//constructor
public TestCommunicationServer(HashMap<String, Socket> clients, ArrayList<Socket> connectedClients){
this.clients = clients;
input = new Scanner(System.in);
this.clientList = connectedClients;
}
private void handleStreams(){
Iterator<Entry<String, Socket>> it = clients.entrySet().iterator();
while(it.hasNext()){
Map.Entry<String, Socket> pair = (Map.Entry<String, Socket>)it.next();
try {
osList.add(new DataOutputStream(pair.getValue().getOutputStream()));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
it.remove();
}
}
@Override
public void run() {
// TODO Auto-generated method stub
while(true){
//handleStreams();
System.out.println("Message to send to clients: ");
String msg = input.nextLine();
for(Socket s: clientList){
try {
os = new DataOutputStream(s.getOutputStream());
os.writeChars(msg);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
//methods
}