本文为大家分享了模拟 ping 操作的一个 java 类 , 具体内容如下
impor java.io.ioException; impor java.net.inetaddress; impor java.net.unknownhostexception; /** * Dibuat oleh QiUju * pada 2014/9/21. */kelas publik implement runnable {private final objek mendlock = objek baru (); private boolean isend = false; int private int tibacount = 0; Hitungan int pribadi; Batas waktu int pribadi; nama string pribadi; private int mendcount; Private String MIP = NULL; private float mlossrate = 1f; private float mdelay = 0; Public Simpleeping (nama string, int count, int timeout) {count = MendCount = count; Timeout = timeout; Name = name; untuk (int i = 0; i <MendCount; i ++) {thread thread = utas baru (ini); thread.setdaemon (true); thread.start (); } if (! isEnd) {coba {disinkronkan (mendlock) {mendlock.wait (); }} catch (InterruptedException e) {E.PrintStackTrace (); }}} private void setend (boolean isarrived, long delay, string ip) {disinkronkan (mendlock) {count--; if (isArrived) {tibaCount ++; mdelay = (mdelay + delay) / 2f; if (ip! = null) mip = ip; }} if (count == 0) setend (); } private void setend () {mLossrate = (MendCount - tibaCount) / MendCount; IsEnd = true; disinkronkan (MendLock) {MendLock.NotifyAll (); }} @Override public void run () {long delay = 0; boolean isarrived = false; String ip = null; coba {long starttime = system.currentTimeMillis (); Alamat inetaddress = inetaddress.getbyname (name); isArrived = address.isReachable (timeout); tunda = system.currentTimeMillis () - startTime; ip = address.getHostAddress (); } catch (unknownHostException e) {e.printstacktrace (); } catch (ioException e) {e.printstacktrace (); } catch (Exception e) {E.PrintStackTrace (); } akhirnya {setend (isArrived, Delay, IP); }} public string getIp () {return mip; } public float getLossrate () {return mLossrate; } public float getDelay () {return mdelay; } public boolean getisSucceed () {return tibaCount> 0; }}在类中使用的是 :
Long StartTime = System.CurrentTimeMillis (); Alamat inetaddress = inetaddress.getbyname (name); isArrived = address.isReachable (timeout); tunda = system.currentTimeMillis () - startTime; ip = address.getHostAddress ();
其中的 : alamat.
之所以说是中间类 , 也就是因为这个原因没有采用这个类。
以上就是本文的全部内容 , 希望对大家的学习有所帮助。