public void run() { Log.d(TAG, "Server thread running"); if (!FtpUtil.isWifiEnabled()) { Log.d(TAG, "Can not start ftp server, wifi disabled"); return; } mShutdown = false; try { initSocket(); } catch (Exception e) { e.printStackTrace(); return; } takeLock(); while (!mShutdown) { if (mServerListener != null) { if (!mServerListener.isAlive()) { Log.d(TAG, "Joining crashed wifiListener thread"); try { mServerListener.join(); } catch (InterruptedException e) { e.printStackTrace(); } mServerListener = null; } } if (mServerListener == null) { mServerListener = new TcpListener(this); mServerListener.start(); } try { Thread.sleep(WAKE_INTERVAL_MS); } catch (InterruptedException e) { LogUtil.d("Thread interrupted"); } } terminateAllSessions(); if (mServerListener != null) { mServerListener.quit(); mServerListener = null; } stopAndRelease(); }
// Set address to listen on. public void set_address(String addr_) throws IOException { address.resolve(addr_, false); InetSocketAddress sock = (InetSocketAddress) address.address(); String fake = sock.getAddress().getHostAddress() + ":" + sock.getPort(); super.set_address(fake); }