Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [?] Multicasting

  1. #1

    Multicasting

    sto scrivendo un programma in C che deve girare sia sotto windows che sotto linux, e che quindi fa uso anche delle specifiche API. Devo realizzare una connessione client-server dove il server invii diversi aggiornamenti ai vari sottogruppi di clients nel protocollo UDP. Il client puo essere iscritto a piu gruppi di multicast in quanto puo richiedere piu tipi di aggiornamento al server. Avevo pensato di far creare al server tanti gruppi di multicast per quanti sono i tipi di aggiornamento e ad ogni richiesta da parte del client rispondere col gruppo sul quale attendere i relativi aggiornamenti. Da quello che ho capito c'e un range di indirizzi ip dedicati al multicast. la prima domanda e': se il server utilizza un indirizzo di multicast gia' usato da un qualsiasi altro host? e se il client attende su tale indirizzo di multicast, in questo caso, non rischia di ricevere aggiornamenti che non c'entrano nulla?
    scusate la confusione mentale...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    Gli IP per il multicasting sono quelli di classe D.

    Sono compresi tra

    224.0.0.0 e 239.255.255.255

    anche se quelli compresi tra

    224.0.0.0 e 224.0.0.255

    sono riservati ai protocolli per lo scambio di informazioni tra router.

    Per il resto, non ho ben compreso la domanda ...

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Moderazione

    Originariamente inviato da jurigagarin
    sto scrivendo un programma in C che deve girare sia sotto windows che sotto linux, e che quindi fa uso anche delle specifiche API.
    Il linguaggio anche nel titolo, come da Regolamento, e la descrizione un po' più significativa.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,301

    Re: Moderazione

    Originariamente inviato da alka
    Il linguaggio anche nel titolo, come da Regolamento, e la descrizione un po' più significativa.
    UPDATE: riapro la discussione solamente per chiarimenti sulla possibile locazione della discussione, sperando che la "perdita di tempo" abbia incoraggiato un uso più consapevole del forum e della necessità di indicare il linguaggio di riferimento. Se la discussione verte su altro, la sposteremo; se non c'è un linguaggio di riferimento, andrebbe comunque sempre indicato (il sottoscritto non può leggere nella mente di nessuno).

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  5. #5
    Cerco di essere più chiaro per quanto possibile.
    spiego i passi della comunicazione clientserver.
    1. il server si attiva e riceve richieste di connessione ritornado dalla accept() una socket dedicata alla comunicazione col client ricevendo la cartella della quale il client vuole sapere gli aggiornamenti
    2.se la cartella non è già controllata da un thread (questo avviene se un altro thread precedentemente aveva fatto richiesta per la medesima cartella), lancia appunto un thread per il controllo di aggiornamenti su tale cartella.
    3. apre una socket UDP socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP)
    e con setsockopt(socket, IPPROTO_IP, IP_MULTICAST_TTL,. (char *)&ttl, sizeof(ttl))
    setta il time to live per la successiva send
    4.costruisce una struttura di tipo sockaddr_in riempiendo il campo family con PF_INET, il campo s_addr con un indirizzo a scelta fra il range 224.0.0.0 e 239.255.255.255, e il campo sin_port con una porta a scelta
    5. spedisce al client l'indirizzo multicast scelto (questo su una socket tcp) e poi comincerà a spedire gli aggiornamenti per quella cartella a quell'indirizzo multicast

    il client d'altro canto farà il join a quell'indirizzo multicast e riceverà gli aggiornamenti.

    ora la domanda era. e se l'indirizzo scelto nel range disponibile fosse usato da una altro host qualunque della rete per fare chissà cosa, il client non rischierebbe di ricevere aggiornamenti a lui sconosciuti?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.