/**{f}

 * SerialClient.java

 * Classe che gestisce la richiesta di connessione SERIALIZZATA al  server

 * da parte del client per la scrittura-lettura del client-server

 * attraverso l'uso di socket

 * @version 1.00 01/03/01

 * @author Bertolini Marta & Girotto Cristiano

 */

 

import java.applet.*;
import java.awt.*;
import java.io.*;
import java.net.*;
import java.util.*;


public class SerialClient {
  
  Socket socket;


  // Lo stream dove immettere dati serializzati
  OutputStream os;


  // L'oggetto che permette di inviare dati serializzati
  ObjectOutputStream oos;


  // La connessione verrą aperta verso la macchina locale
  String host="localhost";
  int port=1313;


 //Il costruttore
 public SerClient(String str){
      send(str);
 }


     public static void main(String args[]){
         String str=args[0];
         SerClient sc=new SerClient(str);
     }


     public void send(String str) {
          String StringToSend=str;


  // Apertura della connessione
      try {
           socket = new Socket(host,port);
           os=socket.getOutputStream();
           oos=new ObjectOutputStream(os);
      }
      catch (java.io.IOException e) {
           System.out.println("ATTENZIONE: Il server NON e' attivo.");
      }
  
      try{
            oos.writeObject(StringToSend);
           System.out.println("Oggetto String inviato");
      }
      catch (IOException ioe){System.out.println("Errore I/O");}
      catch(ClassCastException cse){System.out.println("Errore Casting");}


  // una volta finito si chiude il socket
      try{
    socket.close();
      }
      catch (IOException e) {
           System.out.println("Errore in chiusura socket"+e);

      }


     }//fine classe


} //  Fine classe SerialClient