Le Socket in C Invio e Ricezione Dati

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Le Socket in C Invio e Ricezione Dati"

Transcript

1 Le Scket in C Invi e Ricezine Dati Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A Simne Bassis Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI scket() #include <sys/scket.h> int scket(int dmain, int type, int prtcl); Ritrna un scket descriptr -1 in cas di errre, cn errn settata in md pprtun dmain: tra cui PF_INET, PF_INET6, PF_UNIX type: tra cui SOCK_STREAM, SOCK_DGRAM, SOCK_RAW prtcl 0: asscia autmaticamente il prtcll al tip definit getprtbyname(): specificand il prtcll definit in /etc/prtcls (es. "tcp" "udp ) Nta: AF family PF family? in passat si pensava che ad gni address family ptesser crrispndere più prtclli ciò nn è mai success: si pssn in teria usare intercambiabilmente essend uguali più crrett è usare AF_INET in struct sckaddr_in e PF_INET nella chiamata a scket() int s; struct addrinf hints, *res; // si esegue il lkup, assumend che "hints" sia già stat riempit a dvere getaddrinf("www.example.cm", "http", &hints, &res); // ricrdatevi di fare errr-checking su getaddrinf(), e di nn assumere che la prima entry // in res sia quella cercata s = scket(res->ai_family, res->ai_scktype, res->ai_prtcl); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 385 1

2 Usata dal kernel per assciare un pacchett in ingress ad un scket descriptr #include <sys/scket.h> bind() int bind(int sckfd, struct sckaddr *my_addr, int addrlen); sckfd: scket descriptr my_addr: cntiene inf sull indirizz lcale my_addrlen: lunghezza in byte dell indirizz Nn è bbligatria lat clienti; bind implicita in fase di cnnect() struct addrinf hints, *res; int sckfd; // per prima csa, si carican gli indirizzi cn getaddrinf(): memset(&hints, 0, sizef hints); hints.ai_family = AF_UNSPEC; hints.ai_scktype = SOCK_STREAM; hints.ai_flags = AI_PASSIVE; getaddrinf(null, "3490", &hints, &res); // si crea la scket: sckfd = scket(res->ai_family, res->ai_scktype, res->ai_prtcl); // si fa la bind alla prta ttenuta da getaddrinf(): bind(sckfd, res->ai_addr, res->ai_addrlen); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 386 //!!! VECCHIA MODALITA specifica per IPv4!!! int sckfd; struct sckaddr_in my_addr; sckfd = scket(pf_inet, SOCK_STREAM, 0); bind() my_addr.sin_family = AF_INET; my_addr.sin_prt = htns(myport); // shrt, netwrk byte rder my_addr.sin_addr.s_addr = inet_addr(" "); memset(my_addr.sin_zer, '\0', sizef my_addr.sin_zer); bind(sckfd, (struct sckaddr *)&my_addr, sizef my_addr); s_addr può essere INADDR_ANY La versine IPv6 è IN6ADDR_ANY assegnata a sin6_addr C è anche la macr IN6ADDR_ANY_INIT che inizializza la variabile struct in6_addr In cas di errre "Address already in use" Attendere che il kernel faccia pulizia Aggiungere cdice per permettere al kernel di riutilizzare la prta int yes=1; //char yes='1'; // lavrand su piattafrme Slaris if (setsckpt(listener,sol_socket,so_reuseaddr,&yes,sizef(int)) == -1) { perrr("setsckpt"); exit(1); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 387 2

3 cnnect() #include <sys/scket.h> int cnnect(int sckfd, struct sckaddr *serv_addr, int addrlen); sckfd: scket descriptr serv_addr: cntiene inf sull indirizz remt addrlen: lunghezza in byte dell indirizz istruct addrinf hints, *res; int sckfd; // per prima csa, si carican gli indirizzi cn getaddrinf(): memset(&hints, 0, sizef hints); hints.ai_family = AF_UNSPEC; hints.ai_scktype = SOCK_STREAM; getaddrinf("www.example.cm", "3490", &hints, &res); // si crea la scket: sckfd = scket(res->ai_family, res->ai_scktype, res->ai_prtcl); // cnnessine cn binding implicit cnnect(sckfd, res->ai_addr, res->ai_addrlen); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 388 cnnect() In C avete più cntrll su csa sta realmente avvenend a livell di rete Tutt quell che avete vist a lezine viene gestit generand eventualmente pprtuni messaggi di errre Cnscere il prtcll e la rispsta del sistema vi permette di creare applicazini più rbuste Ma spess quest significa scrivere cdice mlt cmpless se si gestiscn tutte le pssibilità a bass livell Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 389 3

4 cnnect() Nel dettagli viene iniziat l handshake a tre vie In cas di errre ETIMEDOUT: se il client TCP nn riceve rispsta al su segment SYN ECONNREFUSED: se la rispsta del server al SYN del client è un RST hard errr: RST significa reset e viene lanciat quand Su una prta nn c è in asclt il server TCP vule abrtire una cnnessine TCP riceve un segment per una cnnessine che nn esiste EHOSTUNREACH ENETUNREACH: se la SYN del client elicita un ICMP destinatin unreachable da qualche ruter intermedi sft errr: il client persiste a lanciare SYN per un cert perid di temp Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 390 listen() e accept() #include <sys/scket.h> int listen (int sckfd, int backlg) Trasfrma una uncnnected scket in una passive scket sckfd: scket descriptr backlg: numer di cnnessini pendenti in cda (slit limite a livell di OS: da 20) #include <sys/scket.h> int accept (int sckfd, struct sckaddr *addr, scklen_t *addrlen) siam sicuri che c è spazi a sufficienza anche per IPv6 sckfd: scket descriptr addr: struct sckaddr_strage per cntenere inf sulla nuva cnnessine addrlen: sizef(struct sackaddr_strage) che verrà eventualmente mdificat dalla accept Al slit: restituisce un nuv scket descriptr Mantenendsi in listening sul prim Permette di cmunicare sul secnd Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 391 4

5 Due parle sul backlg Per gni scket il server mantiene due cde Incmplete cnnectin queue Una entry per gni SYN per cui si attende il cmpletament dell handshake Stat SYN_RCVD Cmpleted cnnectin queue Una entry per gni cnnessine cmpletata Stat ESTABLISHED backlg è la smma della lunghezza delle due cde Che di slit è mltiplicata per 1.5 dal OS Il su valre varia da 5 a 20 Se le cde sn piene quand arriva una nuva SYN, TCP l ignra e nn invia un RST Significherebbe che nn c è nessun server in asclt, cnfndend il client In cas di accept() viene restituita la prima entry nella cmpleted cnnectin queue se nn dispnibile, il prcess rimane in sleep Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 392 #include <string.h> #include <sys/scket.h> #include <netinet/in.h> #define MYPORT "3490" #define BACKLOG 10 int main(vid) { struct sckaddr_strage their_addr; scklen_t addr_size; struct addrinf hints, *res; int sckfd, new_fd; //!! Ricrdatevi dell errr checking per tutte le chiamate!! //getaddrinf memset(&hints, 0, sizef hints); hints.ai_family = AF_UNSPEC; // use IPv4 r IPv6, whichever hints.ai_scktype = SOCK_STREAM; hints.ai_flags = AI_PASSIVE; // fill in my IP fr me getaddrinf(null, MYPORT, &hints, &res); Un esempi // scket, bind e listen: sckfd = scket(res->ai_family, res->ai_scktype, res->ai_prtcl); bind(sckfd, res->ai_addr, res->ai_addrlen); listen(sckfd, BACKLOG); // e per finire accept di una nuva cnnessine: addr_size = sizef their_addr; new_fd = accept(sckfd, (struct sckaddr *)&their_addr, &addr_size); // prnti per cmunicare sul nuv scket descriptr new_fd!. Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 393 5

6 send() e recv() Usate su stream scket datagram scket cnnesse #include <sys/scket.h> int send(int sckfd, cnst vid *msg, int len, int flags); Ritrna il numer di byte effettivamente inviati (è l applicazine a dversene ccupare) Se la cntrparte ha chius la cnnessine, si riceve il segnale SIGPIPE e la send() ritrna -1 cn errn settat a EPIPE sckfd: scket descriptr a cui si vule inviare dati msg: puntatre ai dati da spedire len: lunghezza dei dati in byte flags: se vale 0, allra send() e recv() equivalgn, rispettivamente alle system call write() e read() Altrimenti, per la send(): MSG_OOB: il prcess invia dati ut f band ; MSG_DONTROUTE: I nrmali meccanismi di ruting sn bypassati: il messaggi è dirett alla interfaccia di rete specificata dall indirizz di destinazine; MSG_DONTWAIT: abilita il nn-blcking sl per questa send. In cas di prblemi cn l invi slleva il segnale EAGAIN MSG_NOSIGNAL: nn viene sllevat il segnale SIGPIPE MSG_EOR: delimita la cnclusine di un recrd in scket SOCK_SEQPACKET Occhi alla differenza tra strlen e sizef! Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI char *msg = Prim messaggi!"; int len, bytes_sent; len = strlen(msg); bytes_sent = send(sckfd, msg, len, 0); 394 send() e recv() Usate su stream scket datagram scket cnnesse #include <sys/scket.h> int recv(int sckfd, vid *buf, int len, int flags); Ritrna il numer di byte effettivamente ricevuti 0 se la cntrparte ha chius la cnnessine in md reglare; -1 in cas di errre sckfd: scket descriptr da cui ricevere i dati E se i byte letti eccedesser le buf: buffer di lettura dimensini di buf? len: lunghezza massima del buffer Leggete sempre il manuale per evitare errri!! flags: se vale 0, allra send() e recv() equivalgn, rispettivamente alle system call write() e read() Per quant riguarda recv(): MSG_PEEK: i dati vengn letti, ma nn cnsumati in md che una successiva recv() riceverà ancra le stesse infrmazini; MSG_OOB: legge sltant i dati ut f band ; Si riceve un segnale SIGURG (dati urgenti). Usare recv() nel signal handler cn quest flag MSG_WAITALL: la recv() ritrna sltant quand la ttalità dei dati è dispnibile. Fr message-based sckets, such as SOCK_DGRAM and SOCK_SEQPACKET, the entire message shall be read in a single peratin. If a message is t lng t fit in the supplied buffer, and MSG_PEEK is nt set in the flags argument, the excess bytes shall be discarded. Fr stream-based sckets, such as SOCK_STREAM, message bundaries shall be ignred. In this case, data shall be returned t the user as sn as it becmes available, and n 395 Labratri di Reti di Calclatri (Infrmatica) - A.A S. data Bassis shall be discarded. Università di Milan DI 6

7 send() e recv() int cunter = 3490; char *secret_message = Cia ; int stream_scket; struct sckaddr_in dest; int temp; // stream sckets e recv() struct addrinf hints, *res; int sckfd; char buf[512]; int byte_cunt; // si ttiene l hst inf, si crea la scket, e la si cnnette memset(&hints, 0, sizef hints); hints.ai_family = AF_UNSPEC; // use IPv4 r IPv6, whichever hints.ai_scktype = SOCK_STREAM; getaddrinf("www.example.cm", "3490", &hints, &res); sckfd = scket(res->ai_family, res->ai_scktype, res->ai_prtcl); cnnect(sckfd, res->ai_addr, res->ai_addrlen); // ricezine dati!! byte_cunt = recv(sckfd, buf, sizef buf, 0); printf("recv()'d %d bytes f data in buf\n", byte_cunt); // TCP stream sckets // si assume che la scket sia cnnessa // stream_scket = scket(... // cnnect(stream_scket,... // si cnverte in netwrk byte rder temp = htnl(cunter); // invi dati send(stream_scket, &temp, sizef temp, 0); // invi messaggi segret ut f band send(stream_scket, secret_message, strlen(secret_message)+1, MSG_OOB); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI Occhi al + 1! 396 Invi e Ricezine Dati send() parziali Una send() può inviare parzialmente un messaggi Il restante nn va pers Giace in un buffer prnt per essere inviat #include <sys/scket.h> int sendall(int s, char *buf, int *len) { int ttal = 0; // quanti byte sn stati spediti int bytesleft = *len; // quanti ce ne rimangn da spedire int n; È il kernel che decide quale plitica adttare È il prgrammatre che deve gestire la situazine while(ttal < *len) { n = send(s, buf+ttal, bytesleft, 0); if (n == -1) { break; ttal += n; bytesleft -= n; *len = ttal; return n==-1?-1:0; // return: byte effettivamente spediti // return: -1 se errre, 0 success char buf[10] = "Hall!"; int len; len = strlen(buf); if (sendall(s, buf, &len) == -1) { perrr("sendall"); printf( Sn stati spediti %d byte a causa di un errre!\n", len); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI Prblema: cme fa il ricevente a sapere quand un pacchett termina e un altr inizia? 397 7

8 RecvLine() in c? Nn esiste nelle librerie standard né in Psix Pssibili sluzini 1. Leggere un byte alla vlta e cntrllare che nn sia un ritrn a cap Prblemi di perfrmance E se si usasse \r\n? 2. Leggere cn MSGPEEK, individuare il ritrn a cap e rileggere il numer esatt di byte cntenente l intera linea Scelta efficiente ma può essere cmplicata 3. Usare rutine di alt livell fgets() e fputs() a. Prmuvere una scket cnnessa a due FILE*, un per la lettura e un per la scrittura, usand fdpen(). b. line-buffer il FILE* in scrittura trammite setlinebuf() c. Usare sempre fgets() per leggere e fputs() per scrivere d. Ricrdarsi di terminare le linee di test cn \n Può causare deadlck a causa del buffering Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 398 RecvLine() cn fgets() /* Prmte scket */ if (NULL==(in=fdpen(sck, "r")) NULL==(ut=fdpen(sck, "w"))) { perrr("fdpen"); exit(3); setlinebuf(ut); /* Ping-png in an infinite lp */ while (1) { char png[256]; fputs("ping\n", ut); puts("> PING"); fgets(png, 256, in); if (strcmp(png, "PONG\n")) { fprintf(stderr, "Server didn't PONG back\n"); exit(4); puts("< PONG"); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 399 8

9 Serializzazine cme incapsulare dati Per inviare dati binari (es. int flat) 1. Cnvertire il numer in test (es. sprintf()) e inviare il test. Il ricevente ricnvertirà il test (es. strtl(), atf(),sscanf()) Pr: dati facilmente leggibili Cntr: cnversine lenta e eccessiv cnsum di spazi 2. Inviare dati grezzi, passand un puntatre ai dati alla send() Pr: velce Cntr: nn prtabile: architetture diverse usan diverse rappresentazini binarie byte rdering /* MITTENTE */ duble d = ; send(s, &d, sizef d, 0); /* Attenzine! Nn prtabile! /* /* RICEVENTE */ duble d; recv(s, &d, sizef d, 0); /* Attenzine! Nn prtabile! /* Per gli interi ci sn le funzini htns(), ma nn per i flat Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI Serializzazine (marshal). Cdificare il numer in una frma binaria prtabile Pr: semplice e velce Cntr: nn standard, nn efficiente us dell spazi, range trpp ristrett (per numeri più grandi di 32767) e nn preserva gli ultimi decimali #include <stdi.h> #include <stdint.h> uint32_t htnf(flat f) { uint32_t p; uint32_t sign; if (f < 0) { sign = 1; f = -f; else { sign = 0; p = ((((uint32_t)f)&0x7fff)<<16) (sign<<31); p = (uint32_t)(((f - (int)f) * f))&0xffff; return p; flat nthf(uint32_t p) { flat f = ((p>>16)&0x7fff); f += (p&0xffff) / f; Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI // parte intera // frazine // bit di segn if (((p>>31)&0x1) == 0x1) { f = -f; return f; Cdifica flat in numer a 32 bit Bit 31: segn (1 negativ) Bit 30-16: parte intera Bit 15-0: parte frazinaria // parte intera e segn // frazine int main(vid) { flat f = , f2; uint32_t netf; netf = htnf(f); f2 = nthf(netf); printf("original: %f\n", f); printf(" Netwrk: 0x%08X\n", netf); printf("unpacked: %f\n", f2); return 0; Utilizz 401 9

10 Serializzazine flat, struct e standard gli standard ci salverann RFC 4506 standard per External Data Representatin Definisce il frmat per parecchi tipi di dati IEEE-754 standard per memrizzare numeri flating pint La maggir parte delle piattafrme l usa in lcale Mai assumerl a garanzia della prtabilità Ci sn tante librerie a riguard Megli nn reinventarsi la ruta Per chi è curis Semplice implementazine dell standard struct: funzini pack() e unpack() Idea: cdificare gni camp indipendentemente Ma ancra una vlta in C nn sn previste (nn standard) anche se le librerie per farl nn mancan Per chi è curis Men semplice implementazine di pack() e unpack() Funzina cn una lista variabile di argmenti (cme printf()) Cdifican in un array di caratteri piuttst che in un inter Attenzine ad attacchi per destabilizzare il sistema megli indicare la lunghezza della stringa nde evitare buffer verrun Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 402 Marshalling incapsulament Per le stringhe è più semplice Ricrdatevi di aggiungere il carattere di fine stringa laddve serve len = recv(myscket, buffer, MAXRCVLEN, 0); buffer[len] = '\0'; // dbbiam inserire il NULL terminatr ( character) /* printf("received %s (%d bytes).\n", buffer, len); A vlte è sufficiente aggiungere un header Cn tutte le infrmazini previste dal prtcll di cmunicazine Es. chat: due infrmazini (messaggi, mittente) Prblema: Tm dice «Cia» e Jerry replica «Bungirn a tutti». TmCiaJerryBungirn a tutti Un generic client riceverà Sluzini 1. Usare messaggi di lunghezza fissata e il metd sendall() Eccessiv sprec di risrse 2. Definire un prtcll cn eventuali header Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI Es. chat: due infrmazini (messaggi, mittente) Assunzini: user name: lunghezza fissa di 8 caratteri, riempiti cn \0 messaggi: lunghezza variabile (max 128 caratteri) Struttura del pacchett: len (1 byte unsigned) lunghezza ttale del pacchett (n+8) name (8 byte) username, NULL padded chatdata (n byte)

11 Es. chat: prim pacchett Marshalling incapsulament 0C 54 6F 6D (length) T m (padding) C i... secnd pacchett 1A 4A D 6E... (length) J e r r y (padding) B u n... Invi: sendall() La lunghezza in netwrk byte rder Ricezine: Dppia recv() La prima per la lunghezza La secnda dp aver instanziat un buffer delle dimensini crrette Singla recv() Buffer temprane (in grad di cntenere 2 pacchetti) e pst prcessing Attenzine alla ricezine di pacchetti incmpleti (shift della parte incmpleta us di circular buffer) Attenzine: la gestine di stringhe può nn essere csì semplice cme sembra Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 404 clse(sckfd); clse() Chiude la cnnessine e impedisce ulteriri read e write Su windws usare clsescket() In realtà marca la scket cme chiusa sl se i reference cunt al descrittre è 0, altrimenti decrementa il reference cunt e lascia la cnnessine invariata Utile per sistemi cncrrenti multiprcess Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI

12 shutdwn() shutdwn(int sckfd, int hw); Per avere più cntrll sulla chiusura (sprattutt per multiplexing I/O) sckfd: scket descriptr da chiudere hw: 0: ulteriri receive nn sn permesse 1: ulteriri send nn sn permesse 2: ulteriri send e receive nn sn permesse (equivalente della clse()) Nn chiude (rende dispnibile) il scket descriptr, ma ne cambia l usabilità In sstanza invia pprtunamente paccheti FIN shutdwn() mdifica l usabilità del canale indipendentemente dal prcess e dai reference cunt Tutti i prcessi vedrann mdificata l usabilità del canale Nei sistemi recenti, una clse() richiama la shutdwn() per una chiusura pulita Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 406 Esercizi C 2 Si implementi un sistema client-server in cui il client invia al server una espressine nella frma a p b dve a, b sn numeri interi e p { +, -, *, / rappresenta il simbl dell perazine che deve essere eseguita sui due interi. Il server restituirà al client il risultat. Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI

13 getpeername() e gethstname() #include <sys/scket.h> int getpeername(int sckfd, struct sckaddr *addr, int *addrlen);; Riprta chi c è all altr cap di una (stream) scket cnnessa sckfd: stream scket descriptr addr: indirizz della cntrparte addrlen: settat inizialmente a sizef *addr sizef (struct sckaddr) Per ttenere più infrmazini si può usare inet_ntp() getnameinf() Il name nel nme della funzine è per cntemplare l ampi ventagli di tipi diversi di scket #include <unistd.h> int gethstname(char *hstname, size_t size); Restituisce il nme dell hst su cui gira il prgramma hstname: cnterrà l hstname una vlta che la funzine viene eseguita Se buffer nn sufficiente, segnalazine errre dati trncati size: lunghezza in byte del buffer Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 408 getpeername() e gethstname() // assunzine s è una scket cnnessa scklen_t len; struct sckaddr_strage addr; char ipstr[inet6_addrstrlen]; int prt; len = sizef addr; getpeername(s, (struct sckaddr*)&addr, &len); // per gestire sia IPv4 che IPv6: if (addr.ss_family == AF_INET) { struct sckaddr_in *s = (struct sckaddr_in *)&addr; prt = nths(s->sin_prt); inet_ntp(af_inet, &s->sin_addr, ipstr, sizef ipstr); else { // AF_INET6 struct sckaddr_in6 *s = (struct sckaddr_in6 *)&addr; prt = nths(s->sin6_prt); inet_ntp(af_inet6, &s->sin6_addr, ipstr, sizef ipstr); printf("peer IP address: %s\n", ipstr); printf("peer prt : %d\n", prt); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI

14 getnameinf() #include <sys/scket.h> #include <netdb.h> int getnameinf(cnst struct sckaddr *sa, scklen_t salen, char *hst, size_t hstlen, char *serv, size_t servlen, int flags); Funzine ppsta a getaddrinf(). Effettua un name e service name lkup su un struct sckaddr L us dei parametri è abbastanza immediat Tra i flag più imprtanti NI_NOFQDN: hst cnterrà sl l hstname e nn il nme cmplet NI_DGRAM: cnsidera il servizi cme basat su UDP piuttst che su TCP NI_NUMERICHOST, NI_NUMERICSERV: ritrna la frma numerica di indirizzi e servizi NI_NAMEREQD: se il nme nn può essere reperit, la funzine ritrna un errre Altrimenti l stess indirizz IP nel camp hst struct sckaddr_in6 sa; char hst[1024]; char service[20]; // può essere IPv4 // assunzine: sa cntiene inf su hst e prta getnameinf(&sa, sizef sa, hst, sizef hst, service, sizef service, 0); printf(" hst: %s\n", hst); // es. "www.example.cm" printf("service: %s\n", service); // es. "http" Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI 410 #include <errn.h> int errn; Una nta su errn Variabile glbale che cntiene infrmazini sull errre causat dall ultima system call eseguita L header file errn.h cntiene una serie di cstanti simbliche per descrivere errri Funzini cme perrr() e strerrr(errn) permettn di avere una versine leggibile dell errre Imprtante: nella maggir parte dei sistemi, errn è threadsafe nn è una variabile glbale, ma si cmprta cme tale s = scket(pf_inet, SOCK_STREAM, 0); if (s == -1) { perrr("scket"); // ppure si usi strerrr(errn) tryagain: if (select(n, &readfds, NULL, NULL) == -1) { // si è verificat un errre!! // se il prgramma è stat interrtt, è sufficiente far ripartire la select(): if (errn == EINTR) gt tryagain; // AAHHH! gt!!! // altrimenti l errre è più seri: perrr("select"); exit(1); Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI

15 Una sulle wrapper functin Vist che gni system call richiede la gestine degli errri è pprtun definire wrapper functin che Chiaman la system call Testan il valre di ritrn Terminan in cas di errre Csì facend i prgrammi risulterann più sintetici vid sys_err(char *s) { perrr(s) exit(-1); int Scket(int family, int type, int prtcl) { int n; if ( (n=scket(family, type, prtcl)) < 0) sys_err("scket errr"); return n; Labratri di Reti di Calclatri (Infrmatica) - A.A Università di Milan DI

Protocolli applicativi

Protocolli applicativi Prgrammazine cn le Scket Crs di laurea in Cmunicazine Digitale Labratri di sistemi e reti A.A. 2010-2011 Simne Bassis bassis@dsi.unimi.it Labratri di sistemi e reti (Cmunicazine Digitale) - A.A. 2010-2011

Dettagli

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. 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

Dettagli

Risoluzione Nomi e Indirizzi in C

Risoluzione Nomi e Indirizzi in C Risluzine Nmi e Indirizzi in C Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2014-2015 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2014-2015 Università

Dettagli

Conversione di nomi e indirizzi. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 2011-2012. Simone Bassis bassis@dsi.unimi.

Conversione di nomi e indirizzi. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 2011-2012. Simone Bassis bassis@dsi.unimi. Cnversine di nmi e indirizzi Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2011-2012 Simne Bassis bassis@dsi.unimi.it Indirizzi Java mette a dispsizine delle classi appsite per cntenere

Dettagli

Una semplice applicazione client/server 1

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

Dettagli

DatagramSocket. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 2011-2012. Simone Bassis bassis@dsi.unimi.it.

DatagramSocket. Corso di laurea in Informatica Laboratorio di Reti di Calcolatori A.A. 2011-2012. Simone Bassis bassis@dsi.unimi.it. DatagramScket Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2011-2012 Simne Bassis bassis@dsi.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2011-2012 Università di Milan D.S.I.

Dettagli

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. 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

Dettagli

I/O su Socket TCP: read()

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

Dettagli

SIP. Bibliografia. o IETF, SIP: Session Initiation Protocol, rfc 3261 http://www.ietf.org/rfc/rfc3261.txt

SIP. Bibliografia. o IETF, SIP: Session Initiation Protocol, rfc 3261 http://www.ietf.org/rfc/rfc3261.txt SIP Sessin initiatin prtcl Standard IEEE Una visine sul lung perid Tutte le telefnate avverrann tramite Internet Gli utenti sarann identificati tramite nme e-mail e nn numeri di telefn Pssiam raggiungere

Dettagli

Creare una applicazione Winsock di base

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

Dettagli

Socket per TCP: Fondamenti

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

Dettagli

Centro di competenza per la progettazione di sistemi dedicati

Centro di competenza per la progettazione di sistemi dedicati Strumenti di sistema e diagnstica Tracce di esercitazine per l us degli strumenti di diagnstica di rete. Si faccia riferiment alle slides, ai testi di riferiment per il crs ed all aiut n-line per i vari

Dettagli

IPC Inter Process Communication

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

Dettagli

Interazione (TCP) Client-Server con le socket

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

Dettagli

Programmazione di applicazioni di rete

Programmazione di applicazioni di rete Programmazione di applicazioni di rete Valeria Cardellini Università di Roma Tor Vergata Applicazioni di rete Applicazioni di rete - forniscono i servizi di alto livello utilizzati dagli utenti - determinano

Dettagli

I/O Multiplexing select() e poll()

I/O Multiplexing select() e poll() I/O Multiplexing select() e pll() Crs di laurea in Infrmatica Labratri di Reti di Calclatri A.A. 2013-2014 Simne Bassis bassis@di.unimi.it Labratri di Reti di Calclatri (Infrmatica) - A.A. 2013-2014 Università

Dettagli

Esercitazione [6] Client/Server con Socket

Esercitazione [6] Client/Server con Socket Esercitazione [6] Client/Server con Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di

Dettagli

Guida all' uso dei sockets nella programmazione in C

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

Dettagli

TRASMISSIONE DATI CON PROTOCOLLO XON-XOFF (1)

TRASMISSIONE DATI CON PROTOCOLLO XON-XOFF (1) MANUALE D USO TRASMISSIONE DATI CON PROTOCOLLO XON-XOFF (1) Valid per: CUSTOM ENGINEERING: KUBE, MAX etc MWCR SAREMA: EXTRA, RECORD, SX3 SAREMA DITRON: Recrd EJ, JUMP, Grill EJ EMOTIQ : Opera e Nta COMPATIBILE

Dettagli

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat.

Laboratorio di Sistemi Operativi 29-01-2009. Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Quale dei seguenti software è opportuno attivare durante il download di un file generico?

Quale dei seguenti software è opportuno attivare durante il download di un file generico? Mdul 7 Quale dei seguenti sftware è pprtun attivare durante il dwnlad di un file generic? Sftware di cmpressine Sftware di firma digitale Sftware di crittgrafia Sftware antivirus Quale dei seguenti sftware

Dettagli

IToolS AT commands server. Version 3.3 12/11/2012

IToolS AT commands server. Version 3.3 12/11/2012 ITlS AT cmmands server 1 Smmari Descrizine... 3 Funzinament... 3 Esempi... 6 2 Descrizine Il cmpnente ITlS AtServer presente nel namespace ITlS.Cmpnents.Netwrk.Mdem cnsente di inviare SMS ed email attravers

Dettagli

Via F. Lana, 1-25020 FLERO (BS) Tel. 0303582748 Fax 03072131184 www.themissoluzioni.it info@themissoluzioni.it. gruppo axelera.

Via F. Lana, 1-25020 FLERO (BS) Tel. 0303582748 Fax 03072131184 www.themissoluzioni.it info@themissoluzioni.it. gruppo axelera. Via F. Lana, 1-25020 FLERO (BS) Tel. 0303582748 Fax 03072131184 www.sluzini.it inf@sluzini.it grupp axelera sluzini Obiettiv Scp del presente dcument è descrivere il prdtt Nprinting, il più evlut add-in

Dettagli

110111 2 = 55 10 CAPITOLO I SISTEMI DI NUMERAZIONE E CODICI

110111 2 = 55 10 CAPITOLO I SISTEMI DI NUMERAZIONE E CODICI CAPITOLO I SISTEMI DI NUMERAZIONE E CODICI 1.1) Sistema di numerazine decimale. E dett sistema di numerazine l insieme di un numer finit di simbli e delle regle che assegnan un e un sl valre numeric ad

Dettagli

INTERNET DOMAIN SOCKETS (Cap.59)

INTERNET DOMAIN SOCKETS (Cap.59) INTERNET DOMAIN SOCKETS (Cap.59) Internet Domain Stream Socket TCP Internet Domain Datagram Socket UDP A differenza degli UDDS I datagrams possono essere persi duplicati o arrivare in un ordine diverso

Dettagli

Introduzione. Sommario: Obiettivo:

Introduzione. Sommario: Obiettivo: Intrduzine Obiettiv: Intrduzine alle reti di telecmunicazini apprcci: descrittiv us di Internet cme esempi Smmari: Cs è Internet Cs è un prtcll? netwrk edge netwrk cre Reti di access, mezzi trasmissivi

Dettagli

PROGETTO S.A.I.A. Software XML v.2 - Tracciati AP5

PROGETTO S.A.I.A. Software XML v.2 - Tracciati AP5 Prerequisiti / Cnfigurazini PROGETTO S.A.I.A Sftware XML v.2 - Tracciati AP5 Passi da eseguite per prcedere cn l invi dei dati al SAIA attravers il sftware XML-2 cn i nuvi tracciati AP5. 1. Presa in caric

Dettagli

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it

Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Cenni di programmazione distribuita in C++ Mauro Piccolo piccolo@di.unito.it Socket Nei sistemi operativi moderni i servizi disponibili in rete si basano principalmente sul modello client/server. Tale

Dettagli

ROBOMAIL 1.5 Configurazione

ROBOMAIL 1.5 Configurazione ROBOMAIL 1.5 Cnfigurazine Registrazine del prdtt Eseguire il file MCMLicenser.exe presente nella cartella di installazine del prdtt (\rbmail.service) Inserire Cdice Licenza e Cdice

Dettagli

e/fiscali - Rel. 04.01.03

e/fiscali - Rel. 04.01.03 e/fiscali - Rel. 04.01.03 Mntebelluna, 07 nvembre 2013 e/fiscali - Fix 04.01.03 Dcumentazine di rilasci 24 ORE Sftware S.p.A. 07/11/2013 Pag. 1 di 13 INDICE 1 FIX 04.01.03 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE...

Dettagli

e/fiscali - Rel. 04.01.04

e/fiscali - Rel. 04.01.04 e/fiscali - Rel. 04.01.04 Rimini, 09 dicembre 2013 e/fiscali - Fix 04.01.04 Dcumentazine di rilasci 24 ORE Sftware S.p.A. 12/12/2013 Pag. 1 di 15 INDICE 1 FIX 04.01.04 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE...

Dettagli

E/Fiscali - Rel. 04.03.01

E/Fiscali - Rel. 04.03.01 E/Fiscali - Rel. 04.03.01 Rimini, 09 gennai 2015 E/Fiscali - Fix 04.03.01 Dcumentazine di rilasci TSS S.p.A. 26/01/2015 Pag. 1 di 14 INDICE 1 FIX 04.03.01 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE... 4

Dettagli

LABORATORI DI INFORMATICA 1 MANUALE STUDENTE

LABORATORI DI INFORMATICA 1 MANUALE STUDENTE LABORATORI DI INFORMATICA 1 MANUALE STUDENTE Indice 1. Gestine Sessine di lavr 1.1. Lgin al sistema 1.2. Strumenti a dispsizine dell studente 1.3. Chiusura della sessine 2. Cmandi Linux Principali 2.1.

Dettagli

LIN101 RS232 / LAN INTERFACE

LIN101 RS232 / LAN INTERFACE LIN101 24/02/2004 Italian 1 1. LIN101 Il LIN101 è un Serial Device Server, la cui funzine principale è quella di cnsentire l'access ad una rete Ethernet ad apparati dtati di interfaccia seriale RS232.

Dettagli

e/fiscali - Rel. 04.01.01

e/fiscali - Rel. 04.01.01 e/fiscali - Rel. 04.01.01 Mntebelluna, 17 ttbre 2013 e/fiscali - Fix 04.01.01 Dcumentazine di rilasci 24 ORE Sftware S.p.A. 14/10/2013 Pag. 1 di 14 INDICE 1 FIX 04.01.01 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE...

Dettagli

Guida Rapida. DVR H264 serie DV-AX1004/1009/1016

Guida Rapida. DVR H264 serie DV-AX1004/1009/1016 Guida Rapida DVR H264 serie DV-AX1004/1009/1016 Messa in funzine rapida della registrazine Cllegament LAN e IP Dinamic semplificat Cnfigurazine e us delle prte TCP www.televista.it Pagina 1 Messa in funzine

Dettagli

I Socket. Laboratorio Software 2008-2009 M. Grotto R. Farina

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

Dettagli

AD HOC REVOLUTION. Modulo Logistica Remota. Logistica Remota

AD HOC REVOLUTION. Modulo Logistica Remota. Logistica Remota AD HOC REVOLUTION Mdul Lgistica Remta Lgistica Remta Mdul Lgistica Remta Release Mdul Funzinalità del Revisine Data ultima revisine AHR 5.0 Lgistica Remta Nuv mdul 20/01/2006 0 Emissine: Alessandr Uberti

Dettagli

Manuale utente Volta Monitor

Manuale utente Volta Monitor Manuale utente Vlta Mnitr www.satellitevlta.cm 1 Smmari 1 Vlta Mnitr... 3 2 Licenza Vlta Mnitr... 3 3 Prerequisiti di sistema... 3 4 Utilizz di Vlta Mnitr... 4 5 Manuale Utente... 5 5.1 Cnnessini ad Apache

Dettagli

COMUNICAZIONE TRA PROCESSI REMOTI IN UNIX

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

Dettagli

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it

rsystem Maximiliano Marchesi maximiliano.marchesi@studenti.unipr.it Maximiliano Marchesi 28 Settembre 2005 Diario delle Revisioni Revisione 1.2 28 Settembre 2005 maximiliano.marchesi@studenti.unipr.it Sommario Introduzione..................................................................................

Dettagli

A chi si rivolge: a coloro che già svolgono o svolgeranno mansioni di amministratore di sistemi o ingegnere di sistemi in strutture medio-grandi

A chi si rivolge: a coloro che già svolgono o svolgeranno mansioni di amministratore di sistemi o ingegnere di sistemi in strutture medio-grandi Via Renat Cesarini, 58/60 00144 Rma Via Scrate 26-20128 - Milan P. IVA: 01508940663 CCIAA: 11380/00/AQ Cisc, Juniper and Micrsft authrized Trainers Esame 70 291: (Btcamp Crs MS-2276 e crs MS-2277 ) Crs

Dettagli

Paradigma client-server

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

Dettagli

Nota di rilascio protocollo client / server. Vers. 5.02.02

Nota di rilascio protocollo client / server. Vers. 5.02.02 30 gennai 2013 Nta di rilasci prtcll client / server. Vers. 5.02.02 referente Marc Stanisci Stefan Cciancich rivlt a biettiv autrizzat IAQ-AQ-MD-01-bis Pag.1 di 16 30 gennai 2013 SOMMARIO 1. TABELLA ANAGRAFICA...

Dettagli

ATLAS Installazione : INSTALLAZIONE DI ATLAS SUL SERVER DI TEST CENTER

ATLAS Installazione : INSTALLAZIONE DI ATLAS SUL SERVER DI TEST CENTER ATLAS Installazine : INSTALLAZIONE DI ATLAS SUL SERVER DI TEST CENTER Installazine di Atlas sul server PROCEDURA Cme facci ad installare Atlas sul Server di Test Center? Quali sn le caratteristiche minime

Dettagli

INPS. Area Aziende. Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2009

INPS. Area Aziende. Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2009 Istitut Nazinale Previdenza Sciale INPS Direzine Centrale Sistemi Infrmativi e Tecnlgici Area Aziende Prcedura Internet per la trasmissine delle dmande relative agli sgravi cntrattazine di II livell per

Dettagli

E/Fiscali - Rel. 04.03.00

E/Fiscali - Rel. 04.03.00 E/Fiscali - Rel. 04.03.00 Rimini, 03 ttbre 2014 E/Fiscali - Fix 04.03.00 Dcumentazine di rilasci TSS S.p.A. 03/02/2015 Pag. 1 di 14 INDICE 1 FIX 04.03.00 DI E/FISCALI... 3 2 NOTE DI INSTALLAZIONE... 4

Dettagli

Ingegneria del Software: JDBC. laura.bacci@unipv.it

Ingegneria del Software: JDBC. laura.bacci@unipv.it Ingegneria del Sftware: JDBC laura.bacci@unipv.it Che csa è JDBC Un insieme di API standard per accedere ai database relazinali Separa e nascnde i dettagli dell specific database all applicazine che l

Dettagli

Aggiornamento remoto della chiave hardware

Aggiornamento remoto della chiave hardware AMV S.r.l. Via San Lrenz, 106 34077 Rnchi dei Leginari (Grizia) Italy Ph. +39 0481.779.903 r.a. Fax +39 0481.777.125 E-mail: inf@amv.it www.amv.it Cap. Sc. 10.920,00 i.v. P.Iva: IT00382470318 C.F. e Iscriz.

Dettagli

request reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A.

request reply richiesta client processo di servizio processo server principale From - Valeria Cardellini, Corso Sist. Distr. A.A. Applicazioni di rete Forniscono i servizi di alto livello utilizzati dagli utenti Determinano la percezione di qualità del servizio (QoS) che gli utenti hanno della rete sottostante Programmazione di applicazioni

Dettagli

La gestione informatizzata del farmaco

La gestione informatizzata del farmaco Azienda Ospedaliera di Verna Dipartiment di Medicina Clinica e Sperimentale Medicina Interna B - Reumatlgia La gestine infrmatizzata del farmac Crdinatre Stefania Discnzi Reggi Emilia 11-12 XII 2008 CRITICITA

Dettagli

Moduli di candidatura elettronici LLP 2012. Guida del candidato

Moduli di candidatura elettronici LLP 2012. Guida del candidato EUROPEAN COMMISSION Directrate-General fr Educatin and Culture Lifelng Learning Prgramme Call 2012 Mduli di candidatura elettrnici LLP 2012 Guida del candidat Indice I. Intrduzine...2 II. Principali passi

Dettagli

Program m azione di Sistem a 6

Program m azione di Sistem a 6 Program m azione di Sistem a 6 Lucidi per il corso di Laboratorio di Sistemi Operativi tenuto da Paolo Baldan presso l'università Ca' Foscari di Venezia, anno accademico 2004/ 2005. Parte di questo materiale

Dettagli

Guida per la compilazione on-line delle domande di partecipazione al concorso

Guida per la compilazione on-line delle domande di partecipazione al concorso Cnferiment degli incarichi di funzini didattiche a persnale dell Azienda Ospedaliera Universitaria Federic II Guida per la cmpilazine n-line delle dmande di partecipazine al cncrs Intrduzine La prcedura

Dettagli

Esercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat.

Esercitazione Laboratorio di Sistemi Operativi 20-01-2014. Cognome Nome Mat. Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio di 1 punto

Dettagli

ADEGUAMENTO Gestione TFR per invio ad INPDAP 2008

ADEGUAMENTO Gestione TFR per invio ad INPDAP 2008 Servizi di svilupp e gestine del Sistema Infrmativ del Minister della Pubblica Istruzine SPECIFICHE ADEGUAMENTO Gestine TFR per invi ad INPDAP 2008 IDENTIFICATIVO CO-CS-AR-USGRSC-TFR2008-1.0PUBBL.dc VERSIONE

Dettagli

Laboratorio di Programmazione in Rete

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 lisi@di.uniba.it Orario di ricevimento: mercoledì ore 10-12

Dettagli

PANEM Panificazione automatizzata rev. 1.0

PANEM Panificazione automatizzata rev. 1.0 PANEM Panificazine autmatizzata rev. 1.0 Premessa Il sftware PANEM è un gestinale att ad autmatizzare le prcedure lgistiche di gestine della panificazine. Il sftware PANEM è cmpletamente integrat cn Mitic:

Dettagli

Obiettivo. Dal problema al risultato Algoritmo. Imparare a PROGRAMMARE

Obiettivo. Dal problema al risultato Algoritmo. Imparare a PROGRAMMARE Obiettiv Imparare a PROGRAMMARE LA PROGRAMMAZIONE: Algritmi e prgrammi Imparare a cstruire PROGRAMMI che permettan, tramite l us di cmputer, di rislvere prblemi di divers tip. Prblema Dal prblema al risultat

Dettagli

Opzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni

Opzioni del Socket. Socket Options. Opzioni di Livello Socket. Livello delle Opzioni a.a. 2003/04 Opzioni del Socket Socket Options Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1 Ogni socket

Dettagli

E.C.M. Educazione Continua in Medicina. Servizi web. Manuale utente

E.C.M. Educazione Continua in Medicina. Servizi web. Manuale utente E.C.M. Educazine Cntinua in Medicina Servizi web Manuale utente Versine 1.0 maggi 2015 E.C.M. Servizi web: invi autmatic Indice 2 eventi e pian frmativ Indice Revisini 3 1. Intrduzine 4 2. 5 2.1 Verifica

Dettagli

Riorganizzazione database Sauron (Trasferire tutti i file di stato del sistema su un database MySQL)

Riorganizzazione database Sauron (Trasferire tutti i file di stato del sistema su un database MySQL) UNIVERSITÀ DI BRESCIA FACOLTÀ DI INGEGNERIA Dipartiment di Elettrnica per lʼautmazine Labratri di Rbtica Avanzata Advanced Rbtics Labratry Crs di Rbtica Mbile (Prf. Riccard Cassinis) Rirganizzazine database

Dettagli

Novità: Correzione di errori: Altro

Novità: Correzione di errori: Altro Nvità: È stata aggiunta alle pzini di cnfigurazine generale del prgrama la pssibilità di cnfigurare il cllegament al server tramite prxy. Si accettan questi tipi di prxy: SOCKS v4, SOCKS v5, HTTP 1.1 e

Dettagli

Esercitazione [5] Input/Output su Socket

Esercitazione [5] Input/Output su Socket Esercitazione [5] Input/Output su Socket Leonardo Aniello - aniello@dis.uniroma1.it Daniele Cono D'Elia - delia@dis.uniroma1.it Sistemi di Calcolo - Secondo modulo (SC2) Programmazione dei Sistemi di Calcolo

Dettagli

Sviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server

Sviluppo di Applicazioni su Rete. Introduzione all API socket di Berkeley. Interazione tra Processi. Modello Client-Server a.a. 2003/04 Introduzione all API socket di Berkeley Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea e Diploma in Informatica

Dettagli

Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2014.

Procedura Internet per la trasmissione delle domande relative agli sgravi contrattazione di II livello per l anno 2014. Istitut Nazinale Previdenza Sciale Direzine Centrale Sistemi Infrmativi e Tecnlgici Prcedura Internet per la trasmissine delle dmande relative agli sgravi cntrattazine di II livell per l ann 2014 Manuale

Dettagli

QUANDO WINDOWS XP NON SI AVVIA

QUANDO WINDOWS XP NON SI AVVIA Tecnlgie infrmatiche QUANDO WINDOWS XP NON SI AVVIA In quest articl viene descritta la prcedura per ripristinare un sistema cn Windws XP che nn è più pssibile avviare a causa di un errre nel Registr di

Dettagli

Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor. Alcuni tipi predefiniti di socket

Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor. Alcuni tipi predefiniti di socket Una socket è un punto estremo di un canale di comunicazione accessibile mediante un file descriptor Le socket costituiscono un fondamentale strumento di comunicazione, basato sullo scambio di messaggi,

Dettagli

HTTP adaptation layer per generico protocollo di scambio dati

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

Dettagli

LABORATORI DI INFORMATICA 2 MANUALE STUDENTE

LABORATORI DI INFORMATICA 2 MANUALE STUDENTE LABORATORI DI INFORMATICA 2 MANUALE STUDENTE Indice 1. Gestine Sessine di lavr 1.1. Lgin al sistema 1.2. Strumenti a dispsizine dell studente 1.3. Chiusura della sessine 2. Cmandi Linux Principali 2.1.

Dettagli

Firmware Release 1.3.1

Firmware Release 1.3.1 Firmware Release 1.3.1 Manuale Utente Web: www.kallipepbx.it Supprt tecnic: kallipe-pbx@netresults.it Manuale Utente - 1 - Rev.: 19-06-2015 Indice Nte di aggirnament... 4 Release 1.3.1... 4 Release 1.3.0...

Dettagli

Elementi di programmazione con interfaccia Socket

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

Dettagli

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE. Manuale Operativo STUDENTI

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE. Manuale Operativo STUDENTI RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE Manuale Operativ STUDENTI Intrduzine: A partire dall A.A. 2013/14 l Università degli studi di Siena ha attivat una prcedura di rilevazine

Dettagli

Mon Ami 3000. Gestione della packing list

Mon Ami 3000. Gestione della packing list Prerequisiti Mn Ami 3000 Packing list Gestine della packing list L pzine Packing list è dispnibile per le versini Azienda Light e Azienda Pr. Intrduzine L'pzine Packing list cnsente di velcizzare la gestine

Dettagli

Capitolo 14. Preparazione dei file di stampa e stampa degli elaborati. Copyright 1991-2007 A.D.M. srl Tutti i diritti riservati

Capitolo 14. Preparazione dei file di stampa e stampa degli elaborati. Copyright 1991-2007 A.D.M. srl Tutti i diritti riservati Capitl 14 Preparazine dei file di stampa e stampa degli elabrati Cpyright 1991-2007 A.D.M. srl Tutti i diritti riservati Preparazine dei file di stampa e stampa degli elabrati Le pzini Preparazine dei

Dettagli

Manuale Utente. Data : 06/06/2012 Versione : 1.9

Manuale Utente. Data : 06/06/2012 Versione : 1.9 Sistema Infrmativ di EMITTENTI Data : 06/06/2012 Versine : 1.9 Stria delle mdifiche Data Versine Tip di mdifica 09/07/2006 1.0 Creazine del dcument 10/04/2007 1.1 Mdifica del dcument 24/04/2007 1.2 Mdificata

Dettagli

Regione Calabria Dipartimento n.9 Lavori Pubblici ed Infrastrutture

Regione Calabria Dipartimento n.9 Lavori Pubblici ed Infrastrutture UNIONE EUROPEA REPUBBLICA ITALIANA REGIONE CALABRIA Regine Calabria Dipartiment n.9 Lavri Pubblici ed Infrastrutture Via Crispi 33-88100 CATANZARO SPECIFICHE SIERC: INTEGRAZIONE PROTOCOLLO SIAR POR Calabria

Dettagli

Una Promozione è costituita dalla definizione di una proposta di vendita di uno o più Articoli ad un prezzo diverso da quello normale di vendita.

Una Promozione è costituita dalla definizione di una proposta di vendita di uno o più Articoli ad un prezzo diverso da quello normale di vendita. Scnti, Buni e Prmzini Shp_Net è dtat di un sistema di gestine dei Buni e delle Prmzini cmplet e flessibile, in grad di generare autmaticamente Buni di Acquist destinati ai Clienti secnd specifiche definite

Dettagli

Vi ringraziamo per aver scelto un telecomando Meliconi.

Vi ringraziamo per aver scelto un telecomando Meliconi. IT DIGITAL 2 SMART Vi ringraziam per aver scelt un telecmand Melicni. Il telecmand Digital 2 Smart grazie alla sua ampia banca dati e multifunzinalità è ideale per sstituire fin a 2 telecmandi della quasi

Dettagli

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 27/06/2011 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX

ESAME DI FONDAMENTI DI INFORMATICA T-2 del 27/06/2011 Proff. E. Denti G. Zannoni Tempo a disposizione: 4 ore MAX ESAME DI FONDAMENTI DI INFORMATICA T-2 del 27/06/2011 Prff. E. Denti G. Zannni Temp a dispsizine: 4 re MAX NB: il candidat trverà nell archivi ZIP scaricat da Esamix anche il sftware Start Kit NOME PROGETTO

Dettagli

Esempio 1: stampa locale di file remoto

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

Dettagli

Interfaccia Ethernet RS-485 TCP/ModBus

Interfaccia Ethernet RS-485 TCP/ModBus IF2E011 - IF2E111 Manuale istruzini d us interfaccia Interfaccia Ethernet RS-485 TCP/MdBus I ISTRUMENTI MISURE ELETTRICHE SpA 10782331W Via Travaglia 7 20094 CORSICO (MI) ITALIA Tel. +39 02 44 878.1 www.imeitaly.cm

Dettagli

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto

Livello Trasporto. Liv. Applic. Liv. Transport. Transport Entity. Liv. Network. Trasporto Livello Trasporto Fornire un trasporto affidabile ed efficace dall'host di origine a quello di destinazione, indipendentemente dalla rete utilizzata Gestisce una conversazione diretta fra sorgente e destinazione

Dettagli

programmazione distribuita Introduzione Introduzione alla programmazione distribuita

programmazione distribuita Introduzione Introduzione alla programmazione distribuita Reti Informatiche Introduzione alla programmazione distribuita Introduzione Richiami di Programmazione C Differenze principali C/C++ 2 1 Definizioni di variabili Le variabili possono essere definite solo

Dettagli

Il metodo Zugeer Sabrina Tonielli Zugeer 05/01/2011

Il metodo Zugeer Sabrina Tonielli Zugeer 05/01/2011 Il metd Zugeer Sabrina Tnielli Zugeer 05/01/2011 IL METODO ZUGEER Il metd Zugeer Pag. 2 INDICE 1. COME E NATA L IDEA... 4 2. IL METODO... 4 3. PERCHE ZUGEER... 4 4. IN COSA CONSISTE... 5 5. LE REGOLE...

Dettagli

Modo d impiego CONTROL 5-500 PLUS. Vi ringraziamo per aver scelto un telecomando Meliconi. UTILIZZO TASTI E FUNZIONI

Modo d impiego CONTROL 5-500 PLUS. Vi ringraziamo per aver scelto un telecomando Meliconi. UTILIZZO TASTI E FUNZIONI I Md d impieg CONTROL 5-500 PLUS Vi ringraziam per aver scelt un telecmand Melicni. Il telecmand CONTROL 5-500 PLUS grazie alla sua ampia banca dati e multifunzinalità è ideale per sstituire fin a 5 telecmandi

Dettagli

SOFTWARE DI TELEGESTIONE E PROGRAMMAZIONE PER SISTEMI

SOFTWARE DI TELEGESTIONE E PROGRAMMAZIONE PER SISTEMI Md. 1061 DS1061-012 LBT8275 EasyPr SOFTWARE DI TELEGESTIONE E PROGRAMMAZIONE PER SISTEMI 1061 Sch. 1061/001 MANUALE D USO INDICE INDICE... 2 1 INTRODUZIONE... 3 1.1 Benvenuti nella guida di EasyPr... 3

Dettagli

Laboratorio di Programmazione in rete

Laboratorio di Programmazione in rete Laboratorio di rogrammazione in rete Introduzione alla programmazione C di socket A.A. 2005/06 Comunicazione tra computer Come far comunicare più computer su una rete? Una collezione di protocolli: TC/I

Dettagli

Interazione con il DNS Conversioni di Nomi ed Indirizzi

Interazione con il DNS Conversioni di Nomi ed Indirizzi a.a. 2003/04 Interazione con il DNS Conversioni di Nomi ed Indirizzi Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in

Dettagli

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE

RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE RILEVAZIONE DELLE OPINIONI DEGLI STUDENTI COMPILAZIONE ON-LINE Manuale Operativ STUDENTI Intrduzine: La rilevazine delle pinini degli studenti in merit alla didattica ergata press l Università degli studi

Dettagli

Le soluzioni MBI a supporto del cinema digitale

Le soluzioni MBI a supporto del cinema digitale Le sluzini MBI a supprt del cinema digitale Intrduzine MBI, scietà pisana che pera nel settre ICT nel trattament di cntenuti multimediali su reti etergenee, ha cncepit e realizzat una sluzine in grad di

Dettagli

PROQUOTE CONNECT CLIENT. Requisiti Tecnici di Installazione

PROQUOTE CONNECT CLIENT. Requisiti Tecnici di Installazione PROQUOTE CONNECT CLIENT Requisiti Tecnici di Installazine Smmari 1. AMBIENTI DI PRODUZIONE... 3 2. INSTALLAZIONE.STEP BY STEP SUL PC UTENTE... 3 3. PERMISSION AMMINISTRATORE... 4 4. CARTELLA DI DESTINAZIONE...

Dettagli

dott.ssa Cristina Menazza 29/09/2012

dott.ssa Cristina Menazza 29/09/2012 STRATEGIE PER MIGLIORARE L ATTENZIONE Udine - 28 Settembre 2012 Mdelli Neurpsiclgici 1. Deficit nella reglazine di stat (Sergeant, 1999) 2. Deficit nella prcessazine delle infrmazini temprali (Castellans

Dettagli

Acknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita

Acknowledgment: Prof Vincenzo Auletta, Università di Salerno. Approfondimento alla programmazione distribuita Reti Informatiche Approfondimento alla programmazione distribuita Acknowledgment: Prof Vincenzo Auletta, Università di Salerno Introduzione API send e receive bloccanti e non API select Socket UDP Esempio

Dettagli

PROGETTO RECUPERO DELLE DIFFICOLTA DI LETTURA E SCRITTURA

PROGETTO RECUPERO DELLE DIFFICOLTA DI LETTURA E SCRITTURA ann sclastic 2007-2008 PROGETTO RECUPERO DELLE DIFFICOLTA DI LETTURA E SCRITTURA Scula Media classi Prime, Secnde e Terze (applicazine del Metd FEUERSTEIN) 1 MOTIVAZIONE E BISOGNI Il Cllegi dei Dcenti,

Dettagli

SenTaClAus Sentiment Tagging & Clustering Analysis on web & social contents

SenTaClAus Sentiment Tagging & Clustering Analysis on web & social contents Via Marche 10 56123 Pisa Phne +39.050.552574 Fax +39.1782239361 inf@netseven.it - www.netseven.it P.IVA 01577590506 REGIONE TOSCANA POR CReO FESR 2007 2013 LINEA D INTERVENTO 1.5.a - 1.6 BANDO UNICO R&S

Dettagli

SC per Inter Process Comminication. Comunicazione fra macchine diverse: socket

SC per Inter Process Comminication. Comunicazione fra macchine diverse: socket SC per Inter Process Comminication Comunicazione fra macchine diverse: socket 1 Sockets File speciali utilizzati per connettere due o più processi con un canale di comunicazione i processi possono risiedere

Dettagli

FATTURA ELETTRONICA PA

FATTURA ELETTRONICA PA Sistema Infrmativ PA FATTURA ELETTRONICA PA IL QUADRO DI RIFERIMENTO L intrduzine della fattura elettrnica è stata avviata cn la Legge n. 244 del 2007, che ne ha intrdtt l bblig, rinviand le mdalità di

Dettagli

A.s. 2012-2013 Programma di Informatica

A.s. 2012-2013 Programma di Informatica Via Tscana, 10 Parma tel. 0521266511 fax 0521266550 A.s. 2012-2013 Prgramma di Infrmatica Gli aspetti terici della disciplina sn suddivisi in 5 mduli: A. Prgett di sistemi infrmativi B. Basi di dati C.

Dettagli

MANUALE UTENTE (per il Modello di rilevazione in MS Excel)

MANUALE UTENTE (per il Modello di rilevazione in MS Excel) FLUSSO MONITORAGGIO INTESE Racclta dati 1 gennai 30 giugn 2009 MANUALE UTENTE (per il Mdell di rilevazine in MS Excel) Lmbardia Infrmatica S.p.A. INDICE 1 Premessa...3 2 Intrduzine...4 2.1 UdP Anagrafica

Dettagli