DATAGRAM SOCKET. Angelastro Sergio Diomede Antonio Viterbo Tommaso
|
|
|
- Aniella Leonardi
- 10 anni fa
- Просмотров:
Транскрипт
1 DATAGRAM SOCKET Angelastro Sergio Diomede Antonio Viterbo Tommaso
2 Definizione supporta i datagram privo di connessione messaggi inaffidabili di una lunghezza massima prefissata il protocollo UDP supporta questo tipo di socket AF_INET (formato di indirizzamento) + SOCK_DGRAM (tipologia pacchetto) -> trasmissione UDP
3 Realizzazione E stata stata realizzata un applicazione per la comunicazione tra due host che utilizza le socket basate sul protocollo UDP L applicazione è cross platform Libreria windows: winsock32 Libreria Linux: sys/socket, arpa/inet
4 Development Tools Ambiente di sviluppo: Eclipse Kepler Linguaggio di programmazione: C Compilatore: MinGW
5 Schema Generale Server Socket() Bind() Creazione di un socket Assegna il proprio IP alla socket Client Iterativamente Invia e riceve messaggi Recevefrom() Aspetta un datagramma sendto() Dati (richiesta) Dati (risposta) Creazione di un socket Socket() sendto() Recevefrom() Invia e riceve messaggi close() Chiusura socket close()
6 Server(1) sockaddr_in infoserverpers è una variabile che è costituita da: Campo1- sin_family famiglia di indirizzi Campo2- sin_port: porta sulla quale c è il servizio Campo3- sin_addr.s_addr: proprio IP address Memset: inizializza i campi della variabile void setsockaddr_in2(char IP[IPMAX]) { memset(&infoserverpers, 0, sizeof(infoserverpers)); infoserverpers.sin_family = PF_INET; infoserverpers.sin_port = htons(port); infoserverpers.sin_addr.s_addr = inet_addr(ip); }
7 Server(2) 1) 2) 1)if((sock=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP))<0) ErrorHandler("socket() failed"); printf("\nla socket del server e' stata creata: %d",sock); 2)if((bind(sock,(struct sockaddr*)&infoserverpers, sizeof(infoserverpers)))<0) ErrorHandler("bind() failed"); printf("\nbind: La socket e' stata collegata al proprio indirizzo IP.\n");
8 Client(1) sockaddr_in infoserver è una variabile che è costituita da: Campo1- sin_family famiglia di protocolli Campo2- sin_port: porta sulla quale c è il servizio Campo3- sin_addr.s_addr: indirizzo IP del server con cui chattare Memset: inizializza i campi della la variabile void setsockaddr_in (char IP[IPMAX]) { memset(&infoserver, 0, sizeof(infoserver)); infoserver.sin_family = AF_INET; infoserver.sin_port = htons(port); infoserver.sin_addr.s_addr = inet_addr(ip); }
9 Client(2) 1) 1)if((sock=socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP))<0) ErrorHandler("socket() failed"); printf("\nla socket del client e' stata creata: %d",sock);
10 Live Chat Si utilizzano ciclicamente recvfrom() e la sendto() per lo scambio dei messaggi
11 References Datagram Socket programming Socket Programming Eclipse Configuration mingweclipse/mingweclipse.html
12 Stream Socket Angelastro Sergio Diomede Antonio Viterbo Tommaso
13 Definizione Fornisce una connessione sequenziale affidabile full-duplex Il protocollo TCP supporta questo tipo di socket AF_INET (formato indirizzamento)+ SOCK_STREAM determineranno una connessione TCP
14 Realizzazione E stata realizzata un applicazione per la comunicazione tra due host che utilizza le streaming socket basata sul protocollo TCP L applicazione è cross platform Libreria windows: winsock32 Libreria Linux: sys/socket, arpa/inet
15 Development Tools Ambiente di sviluppo: Eclipse Kepler Linguaggio di programmazione: C Compilatore: MinGW
16 Iterativamente (processo di background) Accetta una nuova connessione Invia e riceve messaggi Schema Generale Server Socket() Bind() Listen() Accept() Bloccato fino alla connessione Read() Esecuzione della richiesta Write() Read() Close() Creazione di un socket Assegna un local address al socket Setta la socket in ascolto Creazione di un socket Collegarsi al Server TCP 3 ways handshake dati dati Chiusura socket EOF Chiusura socket Client Socket() Connect() Write() Read() Close() Invia e riceve messaggi
17 Server(1) sockaddr_in infoserverpers è una variabile che è costituita da: Campo1- sin_family famiglia di indirizzi Campo2- sin_port: porta sulla quale c è il servizio Campo3- sin_addr.s_addr: proprio IP address Memset: inizializza i campi della la variabile void setsockaddr_in2 char IP[IPMAX]) { memset(&infoserverpers, 0, sizeof(infoserverpers)); infoserverpers.sin_family = PF_INET; infoserverpers.sin_port =htons(port); infoserverpers.sin_addr.s_addr = inet_addr(ip); }
18 Server(2) 1) 3) 2) 1)if((sock=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP))<0) ErrorHandler("socket() failed"); printf("\nla socket e' stata creata: %d",sock); 2)if ((bind(sock, (struct sockaddr *)&infoserverpers, sizeof(infoserverpers))) < 0) ErrorHandler("bind() failed"); printf("\nbind:la socket e' stata collegata al proprio indirizzo IP."); 3)if (listen (sock, QLEN) < 0) { ErrorHandler("listen() failed.\n"); closesocket(sock);clearwinsock();return 0; } printf("\nla socket ora e' in ascolto.");
19 Client(1) sockaddr_in infoserver è una variabile che è costituita da: Campo1- sin_family famiglia di protocolli Campo2- sin_port: porta sulla quale c è il servizio Campo3- sin_addr.s_addr: indirizzo IP del server con cui chattare Memset: inizializza i campi della la variabile void setsockaddr_in (char IP[IPMAX]) { memset(&infoserver,0,sizeof(infoserver)); infoserver.sin_family = AF_INET; infoserver.sin_port = htons(port); infoserver.sin_addr.s_addr=inet_addr(ip); }
20 Client(2) 1) 2) 1)if((sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP))<0) ErrorHandler("socket() failed"); printf("\nla socket del client e' stata creata: %d",sock); 2)if (connect(sock,(struct sockaddr*)&infoserver, sizeof(infoserver))<0) { ErrorHandler( "Failed to connect.\n" ); closesocket(sock);clearwinsock();return 0; } printf("\nconnessione al server avvenuta con successo.\n");
21 Server(3) 4) 4) if((sockettemp=accept(sock,(struct sockaddr*)&infoclient, &clientlen))<0) { ErrorHandler("accept() failed.\n"); closesocket(sock);clearwinsock();return 0; } printf("\nla connessione col client %s e' stata accettata",inet_ntoa(infoclient.sin_addr)); printf("\ned stata creata la socket di benvenuto: %d \n",sockettemp);
22 Live Chat Si utilizzano iterativamente recv() e la send () per lo scambio dei messaggi
23 References Socket Programming Eclipse Configuration mingweclipse/mingweclipse.html
Esercitazione [6] Client/Server con Socket
Esercitazione [6] Client/Server con Socket Leonardo Aniello - [email protected] Daniele Cono D'Elia - [email protected] Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di
Interazione (TCP) Client-Server con le socket
Interazione (TCP) Client-Server con le socket D. Gendarmi Interazione TCP Client/Server Server 2. Assegnare un local address alla socket 3. Settare la socket all ascolto 4. Iterativamente: a. Accettare
I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina
M. Grotto R. Farina Sommario 1. Applicazioni Distribuite 2. I Socket Introduzione Interfacce e protocolli Descrizione Stile di comunicazione Namespace e protocollo Include e system call Creazione e chiusura
Creare una applicazione Winsock di base
Creare una applicazione Winsock di base Usiamo le API Winsock incluse in Creare un progetto per una Socket Windows (in Dev C++) Selezionare la file New Projects Selezionare Empty Project Salvare
Laboratorio di Programmazione in Rete
Laboratorio di rogrammazione in Rete a.a. 2005/2006 http://www.di.uniba.it/~lisi/courses/prog-rete/prog-rete0506.htm dott.ssa Francesca A. Lisi [email protected] Orario di ricevimento: mercoledì ore 10-12
IPC Inter Process Communication
Il protocollo TCP controlla che la trasmissione tra due end points avvenga correttamente. Non stabilisce alcun criterio su chi deve iniziare la comunicazione. Questo compito è svolto dalle applicazioni
Reti (già Reti di Calcolatori )
Reti (già Reti di Calcolatori ) Cenni di Socket Programming Renato Lo Cigno http://disi.unitn.it/locigno/index.php/teaching-duties/computer-networks Socket API Programmazione dei socket Obiettivo:imparare
Introduzione alle applicazioni di rete
Introduzione alle applicazioni di rete Definizioni base Modelli client-server e peer-to-peer Socket API Scelta del tipo di servizio Indirizzamento dei processi Identificazione di un servizio Concorrenza
COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX
A cura del prof. Gino Tombolini 1 COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX Il sistema UNIX TCP/IP fornisce un meccanismo di comunicazione tra processi residenti su nodi distinti di una rete, compatibili
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected]
Cenni di programmazione distribuita in C++ Mauro Piccolo [email protected] Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale
Esercitazione [7] Client/Server con Socket
Esercitazione [7] Client/Server con Socket Leonardo Aniello - [email protected] Daniele Cono D'Elia - [email protected] Federico Lombardi - [email protected] Sistemi di Calcolo - Secondo
Paradigma client-server
Interazione Client Server (socket) Vittorio Maniezzo Università di Bologna Vittorio Maniezzo Università di Bologna 15 CliSer - 1/31 Paradigma client-server Le applicazioni utente devono interagire con
Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.
Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento
Interazione (TCP) Client-Server con le socket
Interazione (TCP) Client-Server con le socket Interazione TCP Client/Server Server 1. Creare una socket 2. Assegnare un local address alla socket 3. Settare la socket all ascolto 4. Iterativamente: a.
L uso di Socket UDP. TCP vs. UDP UDP
L uso di Socket UDP TCP TCP vs. UDP UDP 1 Interazione UDP Client/Server Server 1. Creare un socket 2. Assegnare un local address al socket 3. Iterativamente: a. Inviare e ricevere dati 4. Chiudere il socket
TECN.PROG.SIST.INF. I Socket Roberta Gerboni
2015 - Roberta Gerboni Socket e porte I sistemi operativi multitasking possono fare girare contemporaneamente più processi dove ogni processo può rendere disponibili anche più servizi. Questi devono essere
Una prima applicazione in C per l utilizzo delle socket
Una prima applicazione in C per l utilizzo delle socket Richiamo sulle socket Socket in Windows (WinSock) Differenze tra sistemi operativi D. Gendarmi Socket API API: Application Programming Interface
Socket TCP. seconda parte
Socket TCP seconda parte Schema della connessione Computer 1 127.43.18.1 indirizzo I1 indirizzo I2 Computer 2 143.225.5.3 porta 45000 socket porta 5200 socket processo client processo server socket(...)
Una semplice applicazione client/server 1
Una semplice applicazione client/server 1 Il nostro obiettivo In questa parte del corso implementeremo un applicazione client/server che usa i socket Internet disponibili nei sistemi Unix/Linux. Nello
L uso di Socket UDP. Usiamo le API Winsock incluse in <Winsock.h> A.A. 2005/06. Dott.ssa Valeria Carofiglio
L uso di Socket UDP Usiamo le API Winsock incluse in A.A. 2005/06 TCP TCP vs. UDP UDP Interazione UDP Client/Server Server 1. (Inizializzare una WSA) 2. Creare una socket 3. Assegnare un local
HTTP adaptation layer per generico protocollo di scambio dati
HTTP adaptation layer per generico protocollo di scambio dati Sandro Cavalieri Foschini 101786 Emanuele Richiardone 101790 Programmazione in Ambienti Distribuiti I - 01FQT prof. Antonio Lioy A.A. 2002-2003
J+... J+3 J+2 J+1 K+1 K+2 K+3 K+...
Setup delle ConnessioniTCP Una connessione TCP viene instaurata con le seguenti fasi, che formano il Three-Way Handshake (perchè formato da almeno 3 pacchetti trasmessi): 1) il server si predispone ad
Socket. Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server.
Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale architettura consente ai sistemi di condividere risorse e cooperare per il raggiungimento
Controllo Winsock di Visual Basic
Controllo Winsock di Visual Basic Il controllo Winsock, non visibile all'utente, consente di accedere ai servizi di rete TCP e UDP. Per creare applicazioni client o server non è necessario conoscere in
Esempio 1: stampa locale di file remoto
Alcuni esempi di uso di Socket Esempio 1: stampa locale di file remoto Visualizzazione locale del contenuto di un file remoto. Il client deve richiedere la creazione della connessione e successivamente
L interfaccia socket
L interfaccia socket Application Programming Interface: API Socket API Procedure base Altre procedure Ordinamento dei byte Interazione client-server orientata alla connessione Interazione client-server
Introduzione alla programmazione C di socket
Introduzione alla programmazione C di socket (testo di riferimento : M. J. Donahoo, K. L. Calvert, TCP/IP Sockets in C: Practical Guide for Programmers. Morgan Kaufman Publishers. ) A.A. 2005/06 Una rete
Socket TCP. prima parte
Socket TCP prima parte Cosa cambia: socket int fd = socket(pf_inet, SOCK_STREAM, 0); if (fd
TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI
TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI Confronto tra ISO-OSI e TCP/IP, con approfondimento di quest ultimo e del livello di trasporto in cui agiscono i SOCKET. TCP/IP
rsystem Maximiliano Marchesi [email protected]
Maximiliano Marchesi 28 Settembre 2005 Diario delle Revisioni Revisione 1.2 28 Settembre 2005 [email protected] Sommario Introduzione..................................................................................
Elementi di programmazione con interfaccia Socket
Struttura generale per stream sockets Socket() Well-Known Port Bind() Elementi di programmazione con interfaccia Socket Cenni di programmazione secondo la nuova interfaccia Socket definita nella RFC 2553
Transmission Control Protocol
Transmission Control Protocol Franco Callegati Franco Callegati IC3N 2000 N. 1 Transmission Control Protocol - RFC 793 Protocollo di tipo connection-oriented Ha lo scopo di realizzare una comunicazione
Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert)
Esercizi PARTE 1 Esercizi (1-2): da: TCP/IP Sockets in C (Donahoo-Calvert) When you make a phone call, it s usually the callee that answers with hello. What changes to our example client and server would
Uso di sniffer ed intercettazione del traffico IP
Uso di sniffer ed intercettazione del traffico IP Massimo Bernaschi Istituto per le Applicazioni del Calcolo Mauro Picone Consiglio Nazionale delle Ricerche Viale del Policlinico, 137-00161 Rome - Italy
Interprocess Communications - II. Franco Maria Nardini
Interprocess Communications - II Franco Maria Nardini XSI IPC Tre tipi di IPC introdotti da System V: semafori shared memory code di messaggi Comunicazioni tra processi su stesso host Tutte consentono
Esercizio 2. Client e server comunicano attraverso socket TCP
Esercizio 1 Scrivere una applicazione client/server in cui: Il client, in un ciclo infinito: Legge una stringa da standard input Invia al processo server la stringa. Il server visualizza: L'IP da cui si
Sicurezza delle reti. Monga. Ricognizione. Scanning Breve ripasso socket Network mapping Port Scanning NMAP. Le tecniche di scanning
Sicurezza dei sistemi e delle 1 Mattia Dip. di Informatica Università degli Studi di Milano, Italia [email protected] Port Lezione V: Scansioni Port a.a. 2015/16 1 cba 2011 15 M.. Creative Commons
Socket per TCP: Fondamenti
Socket per TCP: Fondamenti Network Applications Molte applicazioni di rete sono formate da due programmi distinti (che lavorano su due diversi host) uno detto server ed uno detto client. Il server si mette
API Socket di Berkeley
Laboratorio Reti di Calcolatori (A.A. 2008-2009) Programmazione di rete ed interfaccia API socket di Berkeley Delfina Malandrino [email protected] http://www.dia.unisa.it/professori/delmal/ API Socket
SERVER CLIENT. Struttura di un Applicazione UDP. Socket UDP. Parametri di sendto. Funzioni di Input/Output. Prof. Vincenzo Auletta
I semestre 03/04 Struttura di un Applicazione UDP Socket UDP socket() bind() Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/professori/auletta/ CLIENT socket() sendto() Dati (richiesta)
Opzioni per le Socket
Opzioni per le Socket A.A. 2005/06 Opzioni per le Socket Ogni socket aperto ha delle proprietà che ne determinano alcuni comportamenti Le opzioni del socket consentono di modificare tali proprietà Ogni
Creare un'elementare backdoor in C in ambiente UNIX
Creare un'elementare backdoor in C in ambiente UNIX DISCLAIMER: Questo tutorial è a solo scopo didattico. L'autore NON si prende alcuna responsabilità circa usi errati o non legali delle informazioni qui
Applicazione distribuita
La programmazione di applicazioni distribuite in C Il concetto di applicazione distribuita L architettura di una applicazione distribuita Il paradigma a scambio di messaggi Il paradigma client-server Il
I/O su Socket TCP: read()
I/O su Socket TCP: read() I socket TCP, una volta che la connessione TCP sia stata instaurata, sono accedibili come se fossero dei file, mediante un descrittore di file (un intero) ottenuto tramite una
Telematica II 12. Esercitazione/Laboratorio 4
Server UDP in JAVA Telematica II 12. Esercitazione/Laboratorio 4 DayTime daemon UDP Port 13 obiettivo realizzazione di un servizio per l invio della data/orario del server al client utilizzo di un datagram
10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress.
ESERCIZIARIO Risposte ai quesiti: 10.1. Un indirizzo IP viene rappresentato in Java come un'istanza della classe InetAddress. 10.2. Un numero intero in Java è compreso nell'intervallo ( 2 31 ) e (2 31
Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688. Sockets e DatagramSocket
Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sockets e DatagramSocket Windows Phone prevede un interfaccia di programmazione per garantire agli sviluppatori
Inizializzazione degli Host. BOOTP e DHCP
BOOTP e DHCP a.a. 2002/03 Prof. Vincenzo Auletta [email protected] http://www.dia.unisa.it/~auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica 1 Inizializzazione degli Host Un
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00
Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00 NB: alcune domande hanno risposta multipla: si richiede di identificare TUTTE le risposte corrette. Cognome: Nome:
Reti di Calcolatori:
Reti di Calcolatori: Internet, Intranet e Mobile Computing a.a. 2007/2008 http://www.di.uniba.it/~lisi/courses/reti/reti0708.htm dott.ssa Francesca A. Lisi [email protected] Orario di ricevimento: mercoledì
Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni client
Versione 25.4.05 Sistemi informativi applicati (reti di calcolatori): appunti delle lezioni Architetture client/server: applicazioni client 1 Architetture client/server: un esempio World wide web è un
Datagrammi. NOTA: MulticastSocket estende DatagramSocket
Datagrammi Le applicazioni che comunicano tramite socket possiedono un canale di comunicazione dedicato. Per comunicare, un client ed un server stabiliscono una connessione, trasmettono dati, quindi chiudono
unsigned long inet_addr(cp) char *cp;
/* bcopystru.c #include struct point int x; char *y; ; struct point a, b; struct pint *pta, *ptb; a.x = 5; a.y = pippo ; b = a; printf i valori del secondo point sono: %d %s\n,b.x,b.y); pta=
Guida all' uso dei sockets nella programmazione in C
Guida all' uso dei sockets nella programmazione in C ( pseudo-traduzione personalizzata di "Beej's Guide to Network Programming" ) (Prima parte) INTRODUZIONE Finalmente ho trovato una guida chiara e semplice
Interconnessione di reti
Interconnessione di reti Collegamenti tra reti eterogenee Instradamento (routing) e inoltro (forwarding) IPv4 - indirizzi IP e MAC - sottoreti IPv6 - evoluzione di Internet DNS - Domain Name System Conclusioni
Networking. Mauro Migliardi Ph. D.
Software Architectures Networking Mauro Migliardi Ph. D. A word of wisdom The word networking strikes fear in the hearts of many programmers. Fear not! Using the networking capabilities provided in the
Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier
Fondamenti di Internet e Reti Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier Fondamenti di Internet e Reti Programmazione Socket Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier
Capitolo 2 - parte 3. Corso Reti ed Applicazioni Mauro Campanella
Capitolo 2 - parte 3 Corso Reti ed Applicazioni Mauro Campanella Agenda - Domain Name Sytem (DNS) - Le socket BSD per Internet M. Campanella Corso Reti ed Applicazioni - Como 2005 Cap 2-3 pag. 2 DNS: Domain
Il livello di Trasporto del TCP/IP
Il livello di Trasporto del TCP/IP Il compito del livello transport (livello 4) è di fornire un trasporto efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata.
Applicazioni di rete. Applicazioni di rete
Applicazioni di rete Scrivere programmi in esecuzione su diversi end systems che comunicano attraverso la rete esempio: web server comunica con browser Non è necessario scrivere software per il nucleo
Prof. Filippo Lanubile
Firewall e IDS Firewall Sistema che costituisce l unico punto di connessione tra una rete privata e il resto di Internet Solitamente implementato in un router Implementato anche su host (firewall personale)
