⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 threadping.java

📁 SOCK VIA HTTP是通过HTTP建立通道的SOCK
💻 JAVA
字号:
/*This file is part of Socks via HTTP.This package is free software; you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation; either version 2 of the License, or(at your option) any later version.Socks via HTTP is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with Socks via HTTP; if not, write to the Free SoftwareFoundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA*/// Title :        ThreadPing.java// Version :      0.40// Copyright :    Copyright (c) 2001// Author :       Florent CUETO (fcueto@wanadoo.fr)// Description :  Check if a server connection is still usedpackage socks4;import java.util.*;public class ThreadPing extends Thread{  //public static final int CONNECTION_TIMEOUT = 180000; // 3mn  public static final int DELAY = 5000; // 5sec  public ThreadPing()  {    super();  }  public void run()  {    boolean state = true;    while (state == true)    {      // Scan the open connections      Vector closeForTimeout = new Vector();      Vector closeForAutorizedTime = new Vector();      if (ServletSocks.table != null)      {        for (Enumeration e = ServletSocks.table.keys(); e.hasMoreElements(); )        {          String key = (String)e.nextElement();          ExtendedConnection extConn = ServletSocks.table.get(key);          if ((extConn != null) && (extConn.serverTimeout > 0))          {            if ((new java.util.Date().getTime() - extConn.lastAccessDate) > extConn.serverTimeout)            {              closeForTimeout.add(key);            }            else            {              if (extConn.autorizedTime > 0)              {                if ((new java.util.Date().getTime() - extConn.creationDate) > 1000 * extConn.autorizedTime)                {                  closeForAutorizedTime.add(key);                }              }            }          }        }      }      // Close the unused connections      for (int i = 0; i < closeForTimeout.size(); i++)      {        String key = (String)closeForTimeout.elementAt(i);        ExtendedConnection extConn = ServletSocks.table.get(key);        if (extConn != null)        {          Log.printLog("Closed connection " + key + " : Timeout reached...");          extConn.conn.disconnect();          ServletSocks.table.remove(key);        }      }      // Close the connections whose autorized time is over      for (int i = 0; i < closeForAutorizedTime.size(); i++)      {        String key = (String)closeForAutorizedTime.elementAt(i);        ExtendedConnection extConn = ServletSocks.table.get(key);        if (extConn != null)        {          Log.printLog("Closed connection " + key + " : Autorized time reached...");          extConn.conn.disconnect();          ServletSocks.table.remove(key);        }      }      try      {        // Sleep        Thread.sleep(DELAY);      }      catch (Exception e){}    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -