Vai al contenuto


Foto

Multicast


Questa discussione e' stata archiviata Questo significa che non e' possibile rispondere
65 risposte a questa discussione

#21 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 12:28

Ok, funge.

Praticamente era il SO_REUSECOSO ma non avevo pensato che, usando il mio RTP plugin, se ne aprono 2 di socket (rtp e rtcp) e l'option va messa ad entrambi.

Grazie MadJackal

Thanks boost :poker:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#22 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 22 giugno 2011 - 12:53


Grazie MadJackal


Ecco, ringrazia boost, che io ho failato su tutta la linea confondendo TCP ed UDP :poker:
In Soviet Italy, the evil army owns you!

#23 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 13:01

?[/url]":1sd1buhe]
Grazie MadJackal


Ecco, ringrazia boost, che io ho failato su tutta la linea confondendo TCP ed UDP :asd:

Vabbè ma sei stato utile lo stesso. Hai presente il "debug confessionale" ? :poker:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#24 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 13:05

La cosa più bella è che emailando con Jori (autore delle jrtplib) alla fine avevo ragione io :poker:
Lui continuava a dire che la sua libreria non aveva bug, che non potevo aprire più applicazioni per colpa del SO, invece...
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#25 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 22 giugno 2011 - 14:21

La cosa più bella è che emailando con Jori (autore delle jrtplib) alla fine avevo ragione io :v
Lui continuava a dire che la sua libreria non aveva bug, che non potevo aprire più applicazioni per colpa del SO, invece...


Il tuo scenario è troppo raro, se usi un socket TCP/UDP unicast ha ragione lui. :asd:
Il problema è il multicast, che fa così cagare che non usa nessuno.

:poker:
In Soviet Italy, the evil army owns you!

#26 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 14:56

?[/url]":34huww1t] La cosa più bella è che emailando con Jori (autore delle jrtplib) alla fine avevo ragione io :)
Lui continuava a dire che la sua libreria non aveva bug, che non potevo aprire più applicazioni per colpa del SO, invece...


Il tuo scenario è troppo raro, se usi un socket TCP/UDP unicast ha ragione lui. :v
Il problema è il multicast, che fa così cagare che non usa nessuno.

:poker:

Il mio plugin usa la sua libreria rtp/multicast.

Niente, oggi non ne azzecchi una :asd:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#27 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 22 giugno 2011 - 16:35

Il mio plugin usa la sua libreria rtp/multicast.
Niente, oggi non ne azzecchi una :biggrin:


:mcoso: :whistler: :whistler: :whistler:
In Soviet Italy, the evil army owns you!

#28 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 29 giugno 2011 - 09:08

Aggiornamenti: usavo male le jrtplib perché insistevo nel fare un solo plugin per send/receive ma poi, guardando i vari esempi, ho visto che tutti fanno 2 clients separati, uno per send, uno per receive. Quindi ho creato 2 plugins e tutto funziona like a charm... sui pc!

Abbiamo testato sui fit-pc e non funziona 'na ceppa :lol:
In pratica pare che il rt kernel Abbraccianigga OS 8.04 non permetta l'uso del multicast che è la base del nostro sistema di comunicazione. Tutto il castello che abbiamo creato è crollato per una stronzatina.

Stiamo valutando l'idea di dare un'aggiornatina ai kernels :asd:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#29 LilithSChild

LilithSChild

    Schiavo

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 12.764 Messaggi:

Inviato 29 giugno 2011 - 09:12

Aggiornamenti: usavo male le jrtplib perché insistevo nel fare un solo plugin per send/receive ma poi, guardando i vari esempi, ho visto che tutti fanno 2 clients separati, uno per send, uno per receive. Quindi ho creato 2 plugins e tutto funziona like a charm... sui pc!

Abbiamo testato sui fit-pc e non funziona 'na ceppa :lol:
In pratica pare che il rt kernel Abbraccianigga OS 8.04 non permetta l'uso del multicast che è la base del nostro sistema di comunicazione. Tutto il castello che abbiamo creato è crollato per una stronzatina.

Stiamo valutando l'idea di dare un'aggiornatina ai kernels :lol:

Colpa vostra che usate Abbraccianigga OS al di fuori del cazzeggio :asd:

#30 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 29 giugno 2011 - 09:18

Aggiornamenti: usavo male le jrtplib perché insistevo nel fare un solo plugin per send/receive ma poi' date=' guardando i vari esempi, ho visto che tutti fanno 2 clients separati, uno per send, uno per receive. Quindi ho creato 2 plugins e tutto funziona like a charm... [b']sui pc[/b]!

Abbiamo testato sui fit-pc e non funziona 'na ceppa :wat:
In pratica pare che il rt kernel Abbraccianigga OS 8.04 non permetta l'uso del multicast che è la base del nostro sistema di comunicazione. Tutto il castello che abbiamo creato è crollato per una stronzatina.

Stiamo valutando l'idea di dare un'aggiornatina ai kernels :lol:

Colpa vostra che usate Abbraccianigga OS al di fuori del cazzeggio :asd:

:lol:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#31 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 29 giugno 2011 - 14:30

Nel rt kernel ufficiale di Abbraccianigga OS 8.04 (lo stesso di Abbraccianigga OS studio) il multicast funziona, quindi il bug è nel kernel di quei cazzoni della Compulab (http://www.fit-pc.com/web).

:wazza:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#32 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 30 giugno 2011 - 08:31

Nel rt kernel ufficiale di Abbraccianigga OS 8.04 (lo stesso di Abbraccianigga OS studio) il multicast funziona, quindi il bug è nel kernel di quei cazzoni della Compulab (http://www.fit-pc.com/web).

:look:


Già provato ad abilitarla via ifconfig? (ifconfig ethX multicast) e, mentre mia madre succhia cazzi, a controllare se crea qualcosa nella tabella di routing (route -n)?

Immagino di sì, ma chiedo perchè voglio failare MOAR. :pcosodance:



Altrimenti ricompilate il kernel, è easy (soprattutto se esiste /proc/config.gz) :look:


Comunque fighi quei fit-pc. Peccato che non abbiano abbastanza porte per usarli come router. :sisi: :wink:
In Soviet Italy, the evil army owns you!

#33 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 30 giugno 2011 - 08:48

Non ero io l'addetto a risolvere il problema (anche se ho contribuito con qualche idea e checkando il codice del kernel) ma uno che ne sa una più del diavolo quindi immagino le abbia provate tutte, soprattutto dal lato config.

Comunque usavamo il kernel della Compulab perché al tempo non esisteva un rt kernel 8.04.
Poi è uscito quindi ora usiamo quello ufficiale anche se stiamo upgradedando al 10.04 (infatti oggi ho ricevuto un hd nuovo e ci devo installare il 10.04).
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#34 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 08:02

C'è qualche esperto di multicast qui ?
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#35 LilithSChild

LilithSChild

    Schiavo

  • Donatori di sperma
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 12.764 Messaggi:

Inviato 22 giugno 2011 - 08:38

Mh credo di no.... :cereal:

#36 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 08:40

Sto smadonnando!!! :patpat:
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#37 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 09:01

Spiego il problema perché forse mi basta qualcuno esperto in sockets per risolverlo.

Se apro 2 applicazioni su 2 PC sulla porta 4000 che comunicano su 225.0.0.1, tutto funziona a meraviglia.
Se provo a fare un JoinMulticastGroup 225.0.0.2 porta 5000 non va niente perché, pare, se apri le applicazioni sulla porta 4000, quella puoi usare e basta.

Siccome ci servono più applicazioni sullo stesso PC, mi tocca aprirle tutte sulla porta 4000 e non ci riesco perché la porta, una volta aperta la prima applicazione, è busy.

Quindi: come cacchio faccio ad aprire più applicazioni che usano la stessa porta ?
ho già provato la socket option SO_REUSEADDRESS ma nada.
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#38 MadJackal

MadJackal

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStelletta
  • 3.105 Messaggi:

Inviato 22 giugno 2011 - 09:10

AFAIK non puoi, a meno di non usare un qualche "middleware" tra le tue applicazioni e la porta in questione (ed avere un modo per "distinguere" cosa va ad una e cosa all'altra). La bind() è il punto chiave della questione, se la usi (e DEVI), non puoi più usare la porta con un'altra applicazione.

SO_REUSEADDR e SO_REUSEPORT non fanno quello che ti aspetti.

Edito per chiarezza:
1. SO_REUSEPORT non c'è sotto linux, solo sotto *BSD, quindi non so se ti interessa.
2. SO_REUSEADDR ti permette di bindarti() ad un indirizzo/porta già bindato, SE questo è in TIME_WAIT. Se è in altro stato ti viene restituito un errore. Non c'è nulla di "contemporaneo", IIRC la vecchia applicazione che era in bind() sul socket viene "sbindata".
In Soviet Italy, the evil army owns you!

#39 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 09:23

AFAIK non puoi, a meno di non usare un qualche "middleware" tra le tue applicazioni e la porta in questione (ed avere un modo per "distinguere" cosa va ad una e cosa all'altra). La bind() è il punto chiave della questione, se la usi (e DEVI), non puoi più usare la porta con un'altra applicazione.

SO_REUSEADDR e SO_REUSEPORT non fanno quello che ti aspetti.

:patpat:


Grazie.

Ma quello che non capisco è perché non posso fare un join multicast address su una porta diversa. Cioè, posso usare UNA sola porta ???
Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all 

 


#40 trallallero

trallallero

    Schiavo

  • Membri
  • StellettaStellettaStellettaStellettaStellettaStellettaStelletta
  • 16.188 Messaggi:

Inviato 22 giugno 2011 - 09:31

Eppure qui http://www.boost.org... ... ceiver.cpp vedo:

socket_.set_option(boost::asio::ip::udp::socket::reuse_address(true));


Don't worry, faith will come soon, like a recall but,
if you can't wait, just stop thinking at all