Try a few next open ports if the current one is in-use. There can be an IOpenPortProvide interface which gives nextPort() based on a policy. A normal policy can be ++ing the current in-use one.