| Autor |
Beitrag |
Flamefire
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: Do 12.08.10 12:40
gut, da bin ich gerade nicht sicher. Aber port forwarden muss man nur, wenn der port nicht an den pc gemappt ist, durch einen ausgang.
Also könnt es sein, dass Client A sich über port x mit dem server verbindet. Client B verbindet sich mit port y
Der Server sagt dann A, dass er B unter IP:Port y erreicht und B dass er A unter IP:Port x erreicht.
Dann könnten A und B über die schon offenen Ports kommunizieren. Soweit meine Theorie.
Für diesen Beitrag haben gedankt: Dalanie
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 12.08.10 12:49
Flamefire hat folgendes geschrieben : | gut, da bin ich gerade nicht sicher. Aber port forwarden muss man nur, wenn der port nicht an den pc gemappt ist, durch einen ausgang.
Also könnt es sein, dass Client A sich über port x mit dem server verbindet. Client B verbindet sich mit port y
Der Server sagt dann A, dass er B unter IP:Port y erreicht und B dass er A unter IP:Port x erreicht.
Dann könnten A und B über die schon offenen Ports kommunizieren. Soweit meine Theorie. |
Nein das kann eigentlich nicht sein. Denn rauskommen tut man (ausser die Ports sind im LAN gesperrt) immer auf jedem Port, nur reinkommen von aussen eben nicht.
Also selbst wenn ich eine verbindung auf Port 3000 zu Skype aufbaue, dann kann noch lange niemand auf Port 3000 eine Verbindung zu mir aufbauen. Die Verbindungsanfrage würde einfach am Router blockiert werden, denn der wüsste nicht wem er die Connection weiterleiten soll.
Dafür müßte man eben entweder PortForwarding dementsprechend einstellen, oder generell alle Ports an einen Rechner weiterleiten. Was aber wiederrum bedeuten würde das lediglich EIN rechner im LAN Skypen kann
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Dalanie 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 12.08.10 13:44
Tja was soll ich sagen,
netstat hat ergeben, dass 4 aktive Verbindungen vorhanden sind, sobald ich das Programm gestartet habe und die laufen alle mit dem TCP Protokoll.
Und nun? Wie kann ich den Typ des Protokolls auf UDP oder RTP verändern?
grüße!
|
|
Flamefire
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: Do 12.08.10 13:52
Aya hat folgendes geschrieben : |
Nein das kann eigentlich nicht sein. Denn rauskommen tut man (ausser die Ports sind im LAN gesperrt) immer auf jedem Port, nur reinkommen von aussen eben nicht.
|
Und wie glaubst du lädt der Browser daten?
Er erstellt ne Verbindung auf Port x und lauscht dort. Dann verbindet er sich darüber mit IP:80 und kriegt die Daten auf seinen port x
Der Router weiß, dass er das durchlassen soll, da dort was rausging. NAT halt 
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 12.08.10 13:57
_________________ Aya
I aim for my endless dreams and I know they will come true!
|
|
Flamefire
      
Beiträge: 1207
Erhaltene Danke: 31
Win 10
Delphi 2009 Pro, C++ (Visual Studio)
|
Verfasst: Do 12.08.10 14:10
Genau das habe ich gesagt. Zu beachten noch: Der Browser hörnicht auf port 80 sondern der Webserver. Der Port des Browsers ist zufällig.
Und über diese stehende Verbindung dürfte der andre User dann auch rein kommen.
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 12.08.10 14:19
Flamefire hat folgendes geschrieben : | Genau das habe ich gesagt. Zu beachten noch: Der Browser hörnicht auf port 80 sondern der Webserver. Der Port des Browsers ist zufällig.
Und über diese stehende Verbindung dürfte der andre User dann auch rein kommen. |
Nein, der Browser hat keinen zufälligen Port, und nein über diese bestehende Verbindung kann auch kein anderer User reinkommen. Die Verbindung besteht zwischen deinem Rechner und dem Webserver, da kann kein anderer reinpfuschen (ausser über packet injection etc, aber das ist wieder ein anderes Thema).
Dein Browser auf deinem Rechner stellt eine anfrage an den Server www.delphi-forum.de auf port 80. Dabei hat dein Browser KEINEN eigenen Server am laufen der auf irgendeinem zufälligen Port lauscht. Ist die Verbindung zum Webserver hergestellt schickt dein Browser einen HTTP-Request, dieser wird vom Server ausgewertet und die Antwort wird auf der selben verbindung zurück geschickt. Ist dies gescehen wird die verbindung beendet.
Aya
_________________ Aya
I aim for my endless dreams and I know they will come true!
Für diesen Beitrag haben gedankt: Dalanie
|
|
Dalanie 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 12.08.10 14:19
netstat ergab, dass sich alle 4 Verbindungen über TCP einwählen.
Zudem habe ich mal bei dem Ressourcenmonior erkennen könnnen, dass die Verbindung anscheinend nicht Peer to Peer ist, heißt, der Server empfängt alle Daten und Sendet sie weiter. Wie kann ich am sinnvollsten dies ändern? Sollte ich im Quellcode nochmal nachschauen?
|
|
Aya
      
Beiträge: 1964
Erhaltene Danke: 15
MacOSX 10.6.7
Xcode / C++
|
Verfasst: Do 12.08.10 14:28
Dalanie hat folgendes geschrieben : | netstat ergab, dass sich alle 4 Verbindungen über TCP einwählen.
Zudem habe ich mal bei dem Ressourcenmonior erkennen könnnen, dass die Verbindung anscheinend nicht Peer to Peer ist, heißt, der Server empfängt alle Daten und Sendet sie weiter. Wie kann ich am sinnvollsten dies ändern? Sollte ich im Quellcode nochmal nachschauen? |
Du mußt entweder die Qualität vom Video soweit runterschrauben das es passt (Bitrate niedriger setzen) oder eben eine Peer2Peer Verbindung herstellen.
Bei Peer2Peer hast du eben das Problem das einer von deinen beiden Gesprächsteilnehmern den Server spielen muß, und bei diesem muß dann der Port den du dir dafür aussuchst vom Router korrekt weiter geleitet werden - sofern er hinter einem Router sitzt.
Die alternative wäre, einen Server zu suchen der eine bessere Anbindung an's Netz hat. Solange es nur 2-3 Teilnehmer bleiben sollte da jeder Dedicated-Server den man so mieten kann ausreichen, bei meinem Strato Server erreiche ich Download geschwindigkeiten von 6-7mb/s. Das reicht für Videokonferenzen locker aus.
_________________ Aya
I aim for my endless dreams and I know they will come true!
Für diesen Beitrag haben gedankt: Dalanie
|
|
ALF
      
Beiträge: 1085
Erhaltene Danke: 53
WinXP, Win7, Win10
Delphi 7 Enterprise, XE
|
Verfasst: Do 12.08.10 15:33
Ich weiss immer nicht, was ihr wollt. Das eine P2P Verbindung dafür nicht geht, dürfte doch nun langsam jedem klar sein. Also benötigt er eine Schnittstelle, auf die alle Teilnehmer gemeinsam von aussen zugreifen können, ohne das irgend einer sich um das Handling kümmern muss! Nun gut, man könnte Skypevideo oder sowas nehmen! Frage, kann man damit eine Konferenzschaltung machen?Ja, aber wer von den Teilnehmern spielt den mh...!
Was bleibt also übrig!!!??? Ein festen Knotenpunkt auf den alle zugreifen können und die Software dazu. Ich nenne dieses vermeintliche Wort nicht  Es bringt also nichts, drumherum zu Reden, für sowas muss nun mal ne vernünftige Technik her, wenn es Top sein soll. Alles andere geht in den "Kunsumerbereich" rein! Oder wie funktionieren Gamesmh...sv..., Teamspeak, Ventrilo!
Kann ich auch von zu Hause anbieten, aber leider hat dies die allg. bekannten Grenzen!
Warum also über sein mh... es so schlecht ist darauf habe ich schon hingewiesen!
Entweder taugt die Software auf diesen Knotenpunkt nichts, sein mh... zu klein bemessen, und oder die Datenleitungen taugen nichts, aber das alles wurde schon benannt!
Er hat also 3 Baustellen, die er da angehen muss, ist leider so!
Software, externe Schnittstelle(HardWare), Datenleitungen!
Gruss Alf
_________________ Wenn jeder alles kann oder wüsste und keiner hätt' ne Frage mehr, omg, währe dieses Forum leer!
Für diesen Beitrag haben gedankt: Dalanie
|
|
Dalanie 
Hält's aus hier
Beiträge: 14
|
Verfasst: Do 12.08.10 15:43
Ich danke euch für die rege Teilnahme hier in meinen Thread
Wahrscheinlich ist das Problemkind gefunden...es ist.............Der Quellcode von dem Programm.
Es gibt ein Beispielprogramm von iConf.Net SDK wo auch eine Verbindung über dem Server hergestellt werden kann und dort ist die Qualität der Konferenz super.
Da in meinem Programm nichts anderes gemacht wird, als eine Verbindung über den Server herzustellen, muss also mein Quellcode einen Fehler beeinhalten, der irgendwo den Rechner verlangsamt, die Qualität beeinflusst bzw. grundsätzlich irgendwelche Probleme hervorruft.
Da ich Zugang zu dem Quellcode und den anderen Dateien des Beispielprogrammes mit Server habe, werde ich dort mich hineinarbeiten um Unterschiede zu meinem Quellcode feststellen zu können.
Falls ich weitere Probleme bekomme oder das doch nicht die Lösung der Lösungen ist, melde ich mich selbstverständlich wieder hier!
Vielen Dank nochmal. Hätte nicht gedacht dass in einem OffTopic Thread soviele Comments abgegeben werden.
Schönes Wochenende
|
|
|