public class Port extends Loader {
- private final NetworkInterface iface;
+ private final InetAddress bindTo;
private final int port;
private final Thread listener;
- public Port(String path, NetworkInterface iface, int port) {
+ public Port(String path, InetAddress bindTo, int port) {
super(path);
- this.iface = iface;
+ this.bindTo = bindTo;
this.port = port;
this.listener = new PortThread();
listener.start();
private class PortThread extends Thread {
public void run() {
try {
- Log.warn(this, "Now listening on interface " + iface + ", port " + port);
- ServerSocket ss = new ServerSocket(port);
+ Log.warn(this, "Now listening on address " + bindTo + ", port " + port);
+ ServerSocket ss = bindTo == null ? new ServerSocket(port) : new ServerSocket(port, 0, bindTo);
for(Socket s = ss.accept(); ; s = ss.accept()) try {
Log.warn(this, "accepted connection on port " + port);
dispatch(new Connection(s, "megacz.com"));