Newsgroup: it.comp.os.linux.development
Titolo: UDP e porta del server

Ciao a tutti , ho un dubbio su udp.
Credevo che con udp non fosse necessario assegnare una porta , ma
questo server :
http://www.lilik.it/~mirko/gapil/gapilsu268.html
crea una bind, perchè?
Grazie

Alan Turing ha scritto:

E' necessario per il multiplexing/demultiplexing dei pacchetti tra
sender e receiver.. Immagina di avere su un host due server che fanno
uso di udp, come fa ( l'host) a sapere a quale server destinare  i
pacchetti se non vengono distinti i due server (tramite porte)??

Quindi è come il tcp , non cambia niente.
io credevo che il discorso delle porte fosse diverso

Dal quel punto di vista no.
Cambia molto da altri punti di vista.
Volendo fare una similitudine tra telefonia e protocolli possiamo dire che
- TCP è simile ad una telefonata:
  - si fa il numero (indirizzo e porta),
  - si attende dall'altra parte il "PRONTO"
  - si comunica
  - si chiude la telefonata ("CIAO" "CIAO")
- UDP è simile ad 1 SMS
  - si manda il messaggio al numero(indirizzo e porta)
nel primo caso siamo sicuri che quel che si trasmette/riceve giunga al
destinatario, mentre nell'UDP sta a te assicurarti che dall'altra parte sia
arrivato
Bye,
Raktzo

 Raktzo
Mi potresti dire i modi piu' pratici per fare questa verifica?

> Mi potresti dire i modi piu' pratici per fare questa verifica?
host1                 host2
msg1     ->
                        ACK
msg2    ->
                        ACK
msg3    ->
        timeout
msg3    ->              ACK
msg4    ->
        timeout
msg4    ->
        timeout
msg4    ->
        timeout
ERROR
l'ack dovrebbe avere un tag che faccia riconoscere al TX a quale msg da
conferma.
Dovresti anche dare un indici ai pacchetti, in modo da ricostruirli sul
destinatario nel caso la comunicazione sia
msg1    ->
msg2    ->
msg3    ->
        <-      ACK msg1
msg4    ->
        <-      ACK msg2
msg5    ->
        <-      ACK msg3
        timeout msg4
        timeout msg5
Bye,
Raktzo

Tnx a lot

Grazie per le precedenti risposte.
Ho un server attivo su una porta, ora vorrei che il mio client trovasse
automaticamente l'ip del server tramite il broadcast.
In questo caso dovrei inviare dal client una richiesta broadcast alla
rete locale con subnet mask 255.255.255.0 ,
poi il server intercetta la richiesta broadcast e risponde al client
con il suo indirizzo ip.
da questo punto in poi il client conosce l'ip del server e continua la
connessione.
Sbaglio qualche cosa in  questo ragionamento?
Mi postate qualche link?

 writes:
Alan> In questo caso dovrei inviare dal client una richiesta broadcast
Alan> alla rete locale con subnet mask 255.255.255.0 ,
Se e` una rete di classe C la netmask e` corretta.
Alan> Sbaglio qualche cosa in questo ragionamento?
Non mi pare, ma dare un occhiata a come funzionano come come bootp forse
potrebbe esserti utile, non ricordo bene se usa i MAC o gli IP address...
-- 
 /\           ___
/___/\_|_|\_|__|___Gian Uberto Lauri_____
  //--\| | \|  |   Integralista GNUslamico
\/                 e coltivatore diretto di Software

 potrebbe esserti utile, non ricordo bene se usa i MAC o gli IP address...
C'era un modo con setsockopt , nessuno mi dà una mano con qualche link?