Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi N - Z > Reti di calcolatori > [CURIOSITA'] Programmazione in C
Pages (2): [1] 2 »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
[ programmazione in c] domanda/curiosità

ora che sono riuscito a fare i primi programmini cazzutissimi in tcp e udp in java volevo cercare di guardare qualcosina di c, giusto per capirci qualcosa.
nelle slides di cassiano ho visto che viene trattata la costruzione di una classe client e server in c.
la mia domanda è la seguente: a differenza di java, che ha una struttura completamente diversa tra TCP e UDP, per programmare con questi due protocolli in c basta sostituire il terzo parametro quando si crea la socket oppure c'è altro da fare?

15-01-2005 22:19
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
yeah
.grande:maestro.

User info:
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Non ho sottomano le slide, potresti postare il pezzo di codice cui ti riferisci?

__________________
?

15-01-2005 22:56
Click Here to See the Profile for yeah Click here to Send yeah a Private Message Find more posts by yeah Add yeah to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

questo:
sd = (socket(AF_INET, SOCK_STREAM,0));

da quanto ho capito, gli ultimi due parametri indicano il tipo di protocollo da usare per la comunicazione; io intendevo dire:
per farla in tcp : (socket(AF_INET, SOCK_STREAM,6));
mentre per farla in udp: (socket(AF_INET, SOCK_DGRAM,17));

15-01-2005 23:33
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
yeah
.grande:maestro.

User info:
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

ah ecco.
Dunque il terzo parametro lascialo pure su 0 (se non sbaglio determina una scelta automatica).

La differenza tra TCP e UDP la fai con SOCK_STREAM e SOCK_DGRAM.

__________________
?

15-01-2005 23:49
Click Here to See the Profile for yeah Click here to Send yeah a Private Message Find more posts by yeah Add yeah to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
futurbaggio
U Frikkettone

User info:
Registered: Feb 2003
Posts: 774 (0.09 al dì)
Location: Foggia
Corso: TIC
Anno: 1° Magistrale
Time Online: 13 Days, 16:44:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Re: [ programmazione in c] domanda/curiosità

Originally posted by GinoPilotino
la mia domanda è la seguente: a differenza di java, che ha una struttura completamente diversa tra TCP e UDP, per programmare con questi due protocolli in c basta sostituire il terzo parametro quando si crea la socket oppure c'è altro da fare?


$> man socket

Giacchè hai Linux... :twisted:

Roberto

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]

16-01-2005 08:45
Click Here to See the Profile for futurbaggio Click Here to See the Blog of futurbaggio Click here to Send futurbaggio a Private Message Visit futurbaggio's homepage! Find more posts by futurbaggio Add futurbaggio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

il problema è che sostituendo semplicemente i parametri della socket non funziona.
il server crea la socket e mi entra in loop infinito continuando a dire che sbaglia ad accettare il client.
qualcuno c'è riusciuto a farlo funzionare in udp?

Last edited by GinoPilotino on 16-01-2005 at 10:54

16-01-2005 09:02
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
futurbaggio
U Frikkettone

User info:
Registered: Feb 2003
Posts: 774 (0.09 al dì)
Location: Foggia
Corso: TIC
Anno: 1° Magistrale
Time Online: 13 Days, 16:44:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by GinoPilotino
il problema è che sostituendo semplicemente i parametri della socket non funziona.
il server crea la socket e mi entra in loop infinito continuando a dire che sbaglia ad accettare il client.
qualcuno c'è riusciuto a farlo funzionare in udp?


Vedendo il codice sarebbe più facile...
Cmq se hai fatto una mera sostituzione dei parametri della funzione socket() (partendo da un codice in TCP) il problema risiede nella chiamata al metodo recv(), che non consente di identificare chi manda il pacchetto, quindi probabilmente il tuo server riceve e poi cerca di rispondere ma non può perchè nn ne sa abbastanza...
Questa è un'ipotesi, posta il codice e vediamo che succede.

Roberto

PS Una risorsa utile (gli esempi non sono facilissimi): http://netgroup.polito.it/reti2/sli...ni/sockets.html

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]

16-01-2005 16:49
Click Here to See the Profile for futurbaggio Click Here to See the Blog of futurbaggio Click here to Send futurbaggio a Private Message Visit futurbaggio's homepage! Find more posts by futurbaggio Add futurbaggio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

eh si futur, il problema dev'essere proprio quello che dici tu.
ora però voglio prima cercare di capire alcune cose basilari del codice.

chi è in grado di tradurre cosa fa questa riga di codice???

client.sin_addr.s_addr = ((struct in_addr*)(hp->h_addr))->s_addr;

e da dove escono fuori h_addr, e s_addr???

Last edited by GinoPilotino on 16-01-2005 at 17:27

16-01-2005 17:20
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
yeah
.grande:maestro.

User info:
Registered: Nov 2003
Posts: 1644 (0.21 al dì)
Location: Cologno Monzese
Corso: Informatica Magistrale
Anno: II
Time Online: 12 Days, 21:36:41 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Così a occhio dovrebbero essere variabili definite nel codice...

Comunque per usare UDP devi usare sendto() e recvfrom()

__________________
?

16-01-2005 20:02
Click Here to See the Profile for yeah Click here to Send yeah a Private Message Find more posts by yeah Add yeah to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

qualcuno è in grado di scrivere un codice TCP e UDP in c commentandolo come si deve? :?

16-01-2005 21:28
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
futurbaggio
U Frikkettone

User info:
Registered: Feb 2003
Posts: 774 (0.09 al dì)
Location: Foggia
Corso: TIC
Anno: 1° Magistrale
Time Online: 13 Days, 16:44:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by GinoPilotino
qualcuno è in grado di scrivere un codice TCP e UDP in c commentandolo come si deve? :?


Tu sei stato in grado di scriverlo, io sono in grado di commentartelo :twisted:

Roberto

PS Io ho fatto qualcosina in TCP, ma qua il problema è UDP: metti il codice!

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]

16-01-2005 22:05
Click Here to See the Profile for futurbaggio Click Here to See the Blog of futurbaggio Click here to Send futurbaggio a Private Message Visit futurbaggio's homepage! Find more posts by futurbaggio Add futurbaggio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by futurbaggio
Tu sei stato in grado di scriverlo, io sono in grado di commentartelo :twisted:

Roberto

PS Io ho fatto qualcosina in TCP, ma qua il problema è UDP: metti il codice!

no, qua il problema di base è che noi non abbiamo mai visto il c, e di conseguenza programmare sia in tcp che in udp non è per niente facile.
le cose sono due:
- o uno decide di fare il pappagallo e s'impara a memoria il codice senza capirci una fava
- oppure uno cerca di capire cosa sono i puntatori ecc, cose a me personalmente non chiare.

quello che dicevo è se chi è capace di fare un programma in c (per sue conoscenze personali, non certo acquisite durante il nostro piano di studi) e in in grado di scrivere un codice commentato per bene. Personalmente non mi interessa leggere un commento tipo // ora creo la socket con sotto 5 o 6 righe di codice che utilizzano strutture a noi oscure con mille assegnamenti e parentesi ecc.
la mia non è una critica al corso; in java, linguaggio che m'hanno insegnato ad usare, ho imparato a fare qualcosina di programmazione di reti ma uno che non ha mai visto il c mi dici che cosa potrà mai capire da una riga di codice come quella postata da me in precedenza?

17-01-2005 00:12
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
futurbaggio
U Frikkettone

User info:
Registered: Feb 2003
Posts: 774 (0.09 al dì)
Location: Foggia
Corso: TIC
Anno: 1° Magistrale
Time Online: 13 Days, 16:44:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Originally posted by GinoPilotino
la mia non è una critica al corso; in java, linguaggio che m'hanno insegnato ad usare, ho imparato a fare qualcosina di programmazione di reti ma uno che non ha mai visto il c mi dici che cosa potrà mai capire da una riga di codice come quella postata da me in precedenza?


Sicuro di esserci stato quando cassiano l'ha spiegato? Non si è certo dilungato ma mi pare che avesse (congiuntivo molto poco dubitativo) spiegato passo passo quella stessa riga di codice, che è di sicuro la più incomprensibile tra tutte...
Rinnovo cmq l'invito a mettere il tuo codice (se nn l'hai fatto dimmelo che smetto di chiederti), altrimenti dovrai aspettare che lo faccia io ma questo avverrà dopo che avrò consegnato la relazione di diritto...

Roberto

PS Hai visto il link che ho postato?

__________________
E lo sceriffo americano non lo sa / ma quando parla ride tutta la città / vile fellone vieni a singolar tenzone / unza unza umpappà troppe truppe mariscià.
Non ci voleva l'eruzione della lava / e due piccioni si contendono la fava / sposa bagnata, bambina svergognata / la questione è delicata / come bolle la patata.
Basta! E' finita la festa
[L'ovile delle vanità, Folkabbestia]

17-01-2005 08:43
Click Here to See the Profile for futurbaggio Click Here to See the Blog of futurbaggio Click here to Send futurbaggio a Private Message Visit futurbaggio's homepage! Find more posts by futurbaggio Add futurbaggio to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
GinoPilotino
.grande:maestro.

User info:
Registered: Dec 2002
Posts: 1403 (0.17 al dì)
Location: Segrate
Corso: TI.COM
Anno: Secondo
Time Online: 13 Days, 8:59:42 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

dopo diritto posto tutto il codice. :)

17-01-2005 10:43
Click Here to See the Profile for GinoPilotino Click Here to See the Blog of GinoPilotino Click here to Send GinoPilotino a Private Message Find more posts by GinoPilotino Add GinoPilotino to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Voodoo
.grande:maestro.

User info:
Registered: Jan 2004
Posts: 1009 (0.13 al dì)
Location: Pisa
Corso: com. dig.
Anno: dottore :)
Time Online: 6 Days, 23:28:00: [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Salve gente,come da consiglio di yeah,visto che sono ancora al momento uno Winzozziano ( :D ),ho scaricato MinGW...
Volevo esser sicuro di averlo installato bene,perchè scrivendo un codice preso pari pari da una guida al C,l'applicazione mi si impalla...Ecco il codicillo simplizissimus:

code:
#include <stdio.h> char *string = "Rosso\n"; int main(int argc, char *argv[]) { printf(string); *(string+3) = 'p'; printf(string); }


Ora...io nn ho messo alcuna variabile ambiente perchè mi sembrava nn fosse richiesto...la compilazione va a buon fine,ma l'esecuzione si blocca all'atto dell'assegnazione del carattere.
Mi sapete dire perchè?

Ciao Grazie

__________________
GET DROPBOX
# il grado di lentezza è direttamente proporzionale all'intensità della memoria;il grado di velocità è direttamente proporzionale all'intensità dell'oblio (Kundera) #
BLOG: Byte Strike
ChRiS :ciao:

25-02-2005 13:07
Click Here to See the Profile for Voodoo Click here to Send Voodoo a Private Message Visit Voodoo's homepage! Find more posts by Voodoo Add Voodoo to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 05:54.    Post New Thread    Post A Reply
Pages (2): [1] 2 »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
 

Powered by: vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento | Licenze | Thanks | Syndacate
Pagina generata in 0.103 seconds (53.29% PHP - 46.71% MySQL) con 25 query.