Newsgroup: it.comp.java
Titolo: Aiuto per programmino didattico client -server

Mi sto approcciando a java ma devo dare in fretta un esamino che
potrebbe contenere un quesito di questo stipo.
Chi puo' provare a svolgere questo programmino ?
"Proggettare un server e un client che, utilizzando la tecnologia dei
socket e usando Java, implementi il seguente protocollo:
- Il server manda un messaggio in cui richiede un username
- Il client invia un username
- Il server ne controlla la validità ed invia o il   messaggio
'Autenticato' (se lo username è corretto)
  o il messaggio 'Non autenticato'
- Il client visualizza il messaggio ricevuto
... eventuale altro testo:
- Il client invia un nome (una stringa)
- Il server riceve il nome e gli aggiunge la parola 'ciao' all'inizio e
invia
  il nuovo messaggio al client
- Il client riceve il messaggio e lo stampa
eventualmente potete inviare a 
se...@ciaoweb.it
grazie anticipatamente
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Chi puo' provare a svolgere questo programmino ?
[CUT]
Quanto paghi?
Marco
-- 
reply: remove duh.spam.
http://javac.imap.cc

 Marco
LOL
Cque penso che un esempio del genere lo si trovi
praticamente ovunque...

 wrote in message
news:c7vrtj$fkr$
2...@lacerta.tiscalinet.it

almeno indicamene uno o fammi capire il meccanismo di attesa risposta.
Visto che ho appena iniziato non č tutto scontato, anzi.
Comunque ti scrivo un esempio che ho trovato e che vorrei modificare 
per l'esercizio proposto. Riesci ad introdurci le modifiche ?
****************************** server ********************************
// Server.java,  Java Sockets Server, Buffered Data Streams
import java.net.*;
import java.io.*;
public class Server
{ public static void main(String[] args)
  {
    ServerSocket serverSocket = null;
    Socket socket = null;
    int sum = 0;                   // current sum value
    String sumString = "";
    try
    { // create socket
      serverSocket = new ServerSocket(1250);
    } catch (Exception e)
    { System.err.println("Error Creating Socket");
    }
    while (true)
    { try
      { // create socket
        // wait for connection then create streams
        System.out.println("Waiting for client connection");
        socket = serverSocket.accept();
        DataOutputStream ostream =
            new DataOutputStream(new BufferedOutputStream(
                                     socket.getOutputStream()));
        DataInputStream istream =
            new DataInputStream( new BufferedInputStream(
                                     socket.getInputStream()));
        // execute client requests
        while(true)
        { String myOperation = istream.readUTF();
          // perform increment operation
          if(myOperation.equals("increment"))
             sumString = String.valueOf(++sum);
          else
             // perform set sum operation
             if(myOperation.equals("set_sum"))
             { sum = 0;
               sumString = String.valueOf(sum);
               System.out.println("Sum = " + sumString);
             }
          ostream.writeUTF(sumString);
          ostream.flush();
        }
      } catch (Exception e)
      { System.err.println("Closing Socket connection");
        if (socket != null)
           try
           { socket.close();
           } catch (IOException ex) {}
      }
    }
  }
}
**********************************************************************
****************************** client ********************************
// Client.java,  Java Sockets Client, Buffered Data Streams
import java.net.*;
import java.io.*;
public class Client
{ public static void main(String args[])
  {
    String sumString = "";        // variable for storing current sum
    try
    { if(args.length != 2)
      {
        System.out.println("Usage java Client <host> <count>");
        return;
      }
      // Create socket connection
      System.out.println("Opening socket and creating streams");
      String host = args[0];
      Socket socket = new Socket(host, 1250);
	  System.out.println(socket.getLocalPort());
      // create streams
      DataOutputStream ostream =
           new DataOutputStream(new BufferedOutputStream(
                                    socket.getOutputStream()));
      DataInputStream istream =
           new DataInputStream(new BufferedInputStream(
                                   socket.getInputStream()));
      // set sum to zero
      System.out.println("Setting sum to 0");
      ostream.writeUTF("set_sum");
      ostream.flush();
      sumString = istream.readUTF();
      // get count, initialize start time
      System.out.println("Incrementing");
      int count = new Integer(args[1]).intValue();
      long startTime = System.currentTimeMillis();
      // perform increment "count" number of times
      for(int i = 0; i < count; i++)
      { ostream.writeUTF("increment");
        ostream.flush();
        sumString = istream.readUTF();
      }
      // display statistics
      long stopTime = System.currentTimeMillis();
      System.out.println("Avg Ping = "
                        +  ((stopTime - startTime) / (float)count) + "
msecs");
      System.out.println("Sum = " + sumString);
    }
    catch(Exception e)
    { System.err.println(e);
    }
   }
}
**********************************************************************
grazie
