Udp Hole Punching

  • C#
  • .NET (FX) 4.0

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Udp Hole Punching

    Hey

    Ich habe mal eine Frage zu UDP Hole Punching. Ich sende ein Paket an den Server, damit hat der Server meine IP und den Port, nun sendet der Server ein Bestätigungspaket - das kommt auch noch an. Jetzt möchte ich vom Server aber noch mehr senden, jedoch kommt das alles nicht mehr beim Client an. Ist der Port nur für eine Rückantwort offen, oder habe ich das Prinzip nicht verstanden? Wie kann der Server etwas dynamisch senden, wenn der Client immer zuerst senden muss?


    EDIT: Mein Fehler.. man muss natürlich auch nach Empfang BeginReceive mit der richtigen Delegate aufrufen -.-.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThuCommix“ ()

    Es reicht aber meinesWissens auch nicht aus nur ein Paket zu senden, du musst nach einer gewissen Zeit wieder senden (kann je nach Router auch nur alle 10 min sein).
    Außerdem baust du auf diese Art nur eine Verbindung in eine Richtung auf, sofern nichts offen ist.
    Client1 sendet über Port 1234 junk an client2. Dadurch kann Client2 über Port 1234 Daten an Client 1 senden (empfängt aber nichts).
    Nun macht client2 dasselbe und sendet über port 1235 junk an client1...usw.
    Was du dann brauchst ist ein Vermittlungsserver, der die Ports bestimmt und Ips zwischen den cloents austauscht.
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---