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();                      
      }                                                         
   }                                                            
}