Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
UdpClient, Videokonferenz, Multicast
syn87
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

UdpClient, Videokonferenz, Multicast

beantworten | zitieren | melden

Hallo zusammen,

ich bin aktuell dabei, ein Videokonferenz Programm zu schreiben. Dabei gibt es verschiedene Clients, die sich, sobald sie sich am Server angemeldet haben, diesem ein Bild schicken. Die Übertragungsrate liegt zu Beginn bei 25 Fps. Die Bilder kommen beim Server auch sauber und ruckelfrei an.

Nun das Problem: Damit sich die Clients untereinander sehen, wollte ich MulticastGroups verwenden. Kommt ein Client also in eine Gruppe, dann sendet er nicht mehr an die ServerIP sondern an die gruppenIP. Der Server empfaengt sie jedoch trotzdem noch, da er auch in allen Gruppen mit drin steckt. Sobald zu viele Clients nicht mehr an die ServerIP senden, sondern an die Gruppen IP, kommt es zu aussetzern. Wenn ich die Empfangsroutine genauer unter die Lupe nehme, dann kann ich auch feststellen, dass von manchen Clients schon seit Sekunden ncihts mehr empfangen wird. Daher schließe ich ein GUI Problem aus.

Also nun die Frage: Kommt es bei der Nutzung von Multicast Gruppen irgendwann zwangslaeufig zu Problemen? Sollte ich vllt an jeden einzelnen Client in der selben Gruppe senden? Und sollte ich vllt auch mehrere Ports verwenden, statt nur einen?

Lg
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 381

beantworten | zitieren | melden

nutzt du das nur lokal? Denn im Internet könnte das Probleme geben mit dem Multicast.

Mehrere Ports sollten keinen Einfluß haben, ich denke eher das das Netz evtl ausgelastet ist. Hast du den Traffic mal berechnen / Gemessen?
private Nachricht | Beiträge des Benutzers
syn87
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

hehe:) ne also ich habs nur lokal getestet. nur da funktionieten ja die multicast ips. jetz weiss ich nich genau wie das mit den multicast funktioniert. wird nur ein paket geschickt und jeder der in der gruppe ist, fuehlt sich angesprochen? oder werden eigntl doch so viel pakete versendet, wie nutzer in der gruppe sind?

ich will nochmal betonen: jeder client schickt sein bild zum anfang nur an der server. sobald die serverip gegen eine multicast ip ausgetauscht wird, kommt es zu paketverlusten...

gruss
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 381

beantworten | zitieren | melden

Zum Gateway dürfte auch bei Multicast nur ein Paket gehen, der Gateway teilt das dann auf. Wie weiß ich leider nicht. Aber mindestens eins Pro Client der es bekommen soll.

Hier steht noch was über MAC Adressen: http://de.wikipedia.org/wiki/Multicast
private Nachricht | Beiträge des Benutzers
syn87
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

Hallo zusammen :)

ich schätze ein paar Fehler habe ich nun schon eliminiert. Zumindest läuft es auf einigen Rechnen nun trotz Multicast flüssig. Hier scheint auch das Problem gewesen zu sein, dass ich eine falsche Multicast Adresse verwendet hab. Meine Annahme war, dass es egal ist, welche ich nehme, aber anscheinend gibt es da doch ein paar gravierende Unterschiede (Multicast Address Assignment). Weiterhin übergebe ich nun auch die TTL an die JoinMulticastMethode (aktuell 0).

Wie gesagt, es funktioniert mit _einigen_ Rechnern. Manche Rechner bekommen nur fuer 2 Sekunden die Signale von den anderen Rechnern, und danach nie wieder. Ne Idee woran das liegen kann?

Gruß

syn
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 381

beantworten | zitieren | melden

TTL sollte > 0 sein, nicht?
private Nachricht | Beiträge des Benutzers
syn87
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

ttl bestimmt doch die anzahl der hops. also die anzahl, wie oft ein paket das netzwerk wechseln kann. damit ist 0 gleichbedeutend mit einem lan?! ich glaub das war so :)
private Nachricht | Beiträge des Benutzers
Tarion
myCSharp.de - Member



Dabei seit:
Beiträge: 381

beantworten | zitieren | melden

Kommt drauf an über wie viele Router das Paket muss, ich weiß grad nicht ob es bei 0 ider -1 gedropt wird.
private Nachricht | Beiträge des Benutzers
syn87
myCSharp.de - Member



Dabei seit:
Beiträge: 87

Themenstarter:

beantworten | zitieren | melden

Ja wie gesagt: 0 wenns nur im LAN versendet werden soll.
private Nachricht | Beiträge des Benutzers
brokenlink
myCSharp.de - Member



Dabei seit:
Beiträge: 19

beantworten | zitieren | melden

Ich habe gerade ähnliches Problem. Beschäftige mich auch gerade mit Multicast und komme nicht so richtig weiter.

Du benutzt bestimmt die IP 224.0.0.1 , die ist halt für das lokale netzwerk und funktioniert bei mir ganz gut. Im Intranet selber ist sowas kein Problem. Die Switche können sowas und die Router müssen es unterstützen.

Was du vor hast ... könnte man super mit Silverlight 4 umsetzen.

Nur wie setzt man sowas im internet dann um?

mfg.
private Nachricht | Beiträge des Benutzers
Stefan_Pre
myCSharp.de - Member



Dabei seit:
Beiträge: 1
Herkunft: Deutschland

beantworten | zitieren | melden

Zitat von syn87
Hallo zusammen,

ich bin aktuell dabei, ein Videokonferenz Programm zu schreiben. Dabei gibt es verschiedene Clients, die sich, sobald sie sich am Server angemeldet haben, diesem ein Bild schicken. Die Übertragungsrate liegt zu Beginn bei 25 Fps. Die Bilder kommen beim Server auch sauber und ruckelfrei an.

Nun das Problem: Damit sich die Clients untereinander sehen, wollte ich MulticastGroups verwenden. Kommt ein Client also in eine Gruppe, dann sendet er nicht mehr an die ServerIP sondern an die gruppenIP. Der Server empfaengt sie jedoch trotzdem noch, da er auch in allen Gruppen mit drin steckt. Sobald zu viele Clients nicht mehr an die ServerIP senden, sondern an die Gruppen IP, kommt es zu aussetzern. Wenn ich die Empfangsroutine genauer unter die Lupe nehme, dann kann ich auch feststellen, dass von manchen Clients schon seit Sekunden ncihts mehr empfangen wird. Daher schließe ich ein GUI Problem aus.

Also nun die Frage: Kommt es bei der Nutzung von Multicast Gruppen irgendwann zwangslaeufig zu Problemen? Sollte ich vllt an jeden einzelnen Client in der selben Gruppe senden? Und sollte ich vllt auch mehrere Ports verwenden, statt nur einen?

Lg


Ich würde dir raten an jeden Client selbst zu senden.

gruß
private Nachricht | Beiträge des Benutzers
Mitzke
myCSharp.de - Member



Dabei seit:
Beiträge: 1

beantworten | zitieren | melden

Das ist doch total unlogisch bzw. kann nicht funktionieren.. sorry
private Nachricht | Beiträge des Benutzers
Campy
myCSharp.de - Member



Dabei seit:
Beiträge: 429

beantworten | zitieren | melden

TTL entspricht nicht immer einem hop:

TTL - Wikipedia
A programmer is just a tool, which converts coffeine into code!
private Nachricht | Beiträge des Benutzers