Strumienie, gniazda sieciowe i wątki - komunikator internetowy (zestaw III)
ćw. 1
Napisz implementację serwera który będzie czekał na zgłoszenia klientów, przyjmował połączenia, a następnie przekazywał komunikaty otrzymane od dowolnego klienta do wszystkich pozostałych. Powinieneś w tym celu zaimplementować klasę której obiekt będzie wątkiem reprezentującym obsługę danego klienta. Po nawiązaniu połączenia z kolejnym klientem, Twój serwer powinien utworzyć wątek który będzie porozumiewał się z tym klientem. Obiekty reprezentujące wątki możesz przechowywać za pomocą bibliotecznej implementacji listy java.util.ArrayList.
import java.io.*; import java.net.*;
class ObslugaZadania extends Thread { Socket sock; ObslugaZadania(Socket klientSocket) { this.sock=klientSocket; } public void run() { } } |
public class SerwerHTTP { public static void main(String[] args) throws IOException { ServerSocket serv=new ServerSocket(80); while(true) { //przyjecie polaczenia System.out.println("Oczekiwanie na polaczenie..."); Socket sock=serv.accept(); //tworzenie watku obslugi tego polaczenia new ObslugaZadania(sock).start(); } } } |