Esercitazione con socket

Slides:



Advertisements
Presentazioni simili
Gestione di un Sistema di Talk multiutente
Advertisements

Sottoprogrammi: funzioni e procedure
Interazione Uomo - Macchina
Microsoft PowerPoint: appunti di base OPERAZIONI DI BASE
Modulo 5 - posta elettronica
Unità D2 Database nel web. Obiettivi Comprendere il concetto di interfaccia utente Comprendere la struttura e i livelli che compongono unapplicazione.
PHP.
ROBODIDACTIS con RoBOPAL Prof. Peter Van LiTH
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
1 System Call per Comunicazione tra Processi Pipe.
1 Corso di Laurea in Biotecnologie Informatica (Programmazione) Le stringhe di caratteri in Java Anno Accademico 2009/2010.
Tecniche di automazione Corso: Tecniche di automazione – prof.ssa Laura ZUCCHI DDE Data Dynamic Exchange Appunti lezioni Classi 1C e 1H – gruppo A.
Perché.Net e non più COM/DCOM ? Superamento dei problemi di COM: Richiede una infrastruttura "non semplice" da ogni applicazione (ad esempio Class Factory.
TCP Transmission Control Protocol. Programmazione II: Programmazione su Reti -- Prof. G. Persiano 2 TCP TCP fornisce un servizio di connessione –orientato.
Concetti introduttivi
Semplice prototipo di Building Automation con una rete Ethernet
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Distributed File System Service Dario Agostinone.
Meteo Service Corso di Reti di Calcolatori LS Casarini Stefano matr
Ing. Enrico Lecchini BetaTre S.r.l.
Javascript 6 Funzioni. Una funzione sarà eseguita in risposta ad un evento o ad una chiamata diretta. Le funzioni possono essere inserite comodamente.
INTRODUZIONE A MATLAB.
Manipolazione dei dati
Dematerializzazione del servizio fax
Cosa è una applicazione distribuita?
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
BROKER SERVER Progetto di Ingegneria del Web 2008 Alessio Bianchi Andrea Gambitta Giuseppe Siracusano.
Esame di Reti di Calcolatori LS Andruccioli Daniele
DDE Data Dynamic Exchange Appunti lezioni Classi 1C e 1H – gruppo A
File system distribuito transazionale con replicazione
SERVER DI POSTA ELETTRONICA INTRANET
BIOINFO3 - Lezione 41 ALTRO ESEMPIO ANCORA Progettare il comando di creazione di una tabella di pubblicazioni scientifiche. Come chiave usare un numero.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 29 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 29 Aprile 2013 Gianluca Durelli – Marco D. Santambrogio –
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio.
Reti di calcolatori LS Manni Tiziano  IT e nuovi scenari applicativi …  … portabilità dei dati …  … condivisione dati …  … disponibilità.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
FTP File Transfer Protocol
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Lab 5: 24 Aprile 2014 Marco D. Santambrogio – Gianluca Durelli –
Internet e HTML Diffusione di informazioni mediante la rete Internet.
Interazione col DB Per interagire con una base dati da una pagina PHP occorre procedere come segue: Eseguire la connessione al DBMS MySQL in ascolto;
TW Asp - Active Server Pages Nicola Gessa. TW Nicola Gessa Introduzione n Con l’acronimo ASP (Active Server Pages) si identifica NON un linguaggio di.
Linguaggi e Modelli Computazionali LS Anno Accademico 2007/2008 Alessio Della Motta Un linguaggio per descrivere partite di Maraffone: il gioco più popolare.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 4 -Protocolli del Web Ernesto Damiani Lezione 1 – World Wide.
MUSE 2 WIFI MUSic Everywhere with WIFI presentazione di Pierangeli Diego Membri del gruppo: Bambini Stefano Bergamini Andrea Pierangeli Diego AA 2006/2007.
Reti di calcolatori LS1 Service Middleware Reti di calcolatori LS progetto di Andrea Belardi Infrastruttura dedicata alla gestione di servizi disponibili.
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
Progetto e Realizzazione di un servizio di Chat Progetto di: Nicoli Leonardo Corso di: Reti di Calcolatori L-S.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Revisione 1.1 del 10 aprile 2003 Introduzione all’utilizzo del laboratorio di Informatica Sergio Andreozzi Corso di Laurea.
Reti di Calcolatori LS - Fabio Poli 15 Giugno 2006 Sviluppo di un player di Campo Minato multigiocatore con supporto di Chat MultiCast.
B IBLIO S ERVICE consultazione di articoli online Anna Riccioni Progetto per il corso di Reti di Calcolatori L-S Anno Accademico
Sistemi di elaborazione dell’informazione Modulo 3 -Protocolli applicativi Unità didattica 3 -Protocolli di posta elettronica Ernesto Damiani Lezione 3.
Alex Marchetti Infrastruttura di supporto per l’accesso a un disco remoto Presentazione del progetto di: Reti di calcolatori L-S.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Scambio Moduli Automatizzato
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
PHP.  HTML (Hyper Text Markup Language)  CSS (Cascading Style Sheets)  Javascript (linguaggio di programmazione client)  PHP ( Hypertext Preprocessor.
Il software Aleph caratteristiche e funzionalità Aleph500 v ersione seminario a cura di Libera Marinelli Università di Genova - Centro di servizi.
Il software Aleph caratteristiche e funzionalità Aleph500 v ersione seminario a cura di Libera Marinelli Università di Genova - Centro di servizi.
I sistemi operativi Funzioni principali e caratteristiche.
Il modello di Von Neumann
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
La funzione CASUALE. Gli istogrammi.
I L SO MS DOS … una breve guida…. C OS ’ È UN S ISTEMA OPERATIVO Un sistema operativo (SO) è un insieme di programmi che agisce come intermediario tra.
Socket programming in Java La realizzazione di un server in Java consente di scrivere una sola versione eseguibile su diverse piattaforme. Il linguaggio.
Transcript della presentazione:

Esercitazione con socket Scrivere un programma client-server in C che utilizzi le socket Server Stia in attesa su una porta nota definibile da linea di comando Accetti una connessione dal client e crei una nuova socket per questa connessione in modo tale da gestire più clienti contemporaneamete (più client possono giocare contemporaneamente con lo stesso server) Accetti il comando giochi dal client e ritorni la lista dei giochi che il client può eseguire tramite il server Gestisca l’invio di comandi errati da parte del client Accetti il comando esegui gioco (gioco è uno dei giochi disponibili) Implementi come minimo il gioco carta-forbice-pietra e un altro gioco (a scelta dello studente) Gestisca l’esecuzione del gioco con il client Gestisca il comando exit che, in qualunque istante, chiude la connessione ed esce dall’applicazione

Esercitazione con socket (cont.) Server che implementa “carta-forbice-pietra” Regole fondamentali: Pietra rompe Forbice (vince pietra) Carta avvolge Pietra (vince carta) Forbice taglia Carta (vince forbice) Parità in caso di oggetti uguali Accetti il comando (indifferentemente minuscolo o maiuscolo) c (per carta), f (per forbice) e p (per pietra) Indipendentemente dal comando ricevuto, generi in maniera casuale c, f o p ed effettui il confronto con il comando inviato dal client in modo da stabilire chi ha vinto la mano Calcoli il numero di mano , aggiorni il punteggio e restituisca la seguente tipologia di output: Mano n. 1 - client: pietra, server: carta => vince il server (o le altre combinazioni) Punteggio - client: 0, server:1 Carta, forbice o pietra? Quando il punteggio arriva a 10, dichiari vincitore il server o il client Accetti in qualunque istante i seguenti comandi help che fornisce una breve spiegazione del gioco quit che esce dal gioco e ritorna alla lista dei giochi exit che chiude la connessione ed esce dal programma Informi il client se il comando inviato è errato

Esercitazione con socket (cont.) Client Si connetta ad un server specificando nome e porta da linea di comando Fornisca la possibilità di inviare il comando giochi al server e mostri all’utente la lista dei giochi che il client può eseguire tramite il server Fornisca la possibilità di inviare il comando esegui gioco Per il gioco “carta-forbice-pietra” Mostri al client il prompt Carta, forbice o pietra? Permetta l’invio del comando (indifferentemente minuscolo o maiuscolo) c (per carta), f (per forbice) e p (per pietra) Permetta l’invio dei comandi help quit exit Possibili estensioni Si possono implementare altri giochi oltre “carta-forbice-pietra”, ad es. “sette e mezzo” Interfaccia grafica