Java DatagramSocket: Portwahl

  • Hallo zusammen!

    Hab folgenden Code zum versenden von Messages via UDP zusammengekleistert:

    Der Code funktioniert auch recht gut und sendet seine Packete raus an irgendjemanden der halt grad an Port 4713 abhört (oder auch nicht ^^)

    Dadurch dass ich aber toSocket mit dem Konstruktor DatagramSocket() aufrufe sucht sich der Client der den Code ausführt für jede Message die er sendet einen neuen, freien Port. Das endet dann darin dass mir irgendwann die freien Ports ausgehen da die verwendeten Ports nicht sofort nach dem senden wieder freigegeben werden. könnt ihr gerne ausprobieren das gibt lustige probleme mit Internet, OS usw... :cool:

    socket.close() am ende habe ich probiert, da funktioniert dann gar nichts mehr. wenn ich dem Konstruktor einen zu verwendenden Port übergebe dann funktionierts nur ab und zu, so jede 300ste message kriegt den Port wieder frei ^^.

    gibts in java ne möglichkeit dem betriebssystem zu "schwören" dass der port sofort wieder freizugeben ist?

  • socket.close() am ende habe ich probiert, da funktioniert dann gar nichts mehr.

    Das äußert sich wie (eigentlich sollte das nämlich gehen)?

    Wenn du andauernd neue DatagramSockets erstellst, ist es kein Wunder, wenn dir nach einiger Zeit die Ports ausgehen. Schon mal über die Möglichkeit nachgedacht, den DatagramSocket wiederzuverwenden anstatt andauernd einen neuen zu erstellen?

  • Zitat

    Schon mal über die Möglichkeit nachgedacht, den DatagramSocket wiederzuverwenden anstatt andauernd einen neuen zu erstellen?

    hmm. nein.
    aber hat funktioniert :D

    danke :thumb:

    mfg

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!