Roland Schneider Roland Schneider - 8 months ago 58
Java Question

How do you specify a port range for Java sockets?

In Java you can give the number zero as a single parameter for the Socket or DatagramSocket constructor. Java binds that Socket to a free port then. Is it possible to limit the port lookup to a specific range?

Answer Source

Hrm, after reading the docs, I don't think you can. You can either bind to any port, then rebind if it is not acceptable, or repeatedly bind to a port in your range until you succeed. The second method is going to be most "efficient".

I am uneasy about this answer, because it is... inelegant, yet I really can't find anything else either :/