- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 Android 应用程序,其中有服务器列表和 ping 它们的代码。但是,当我 ping 其中一个时,它总是有效,但是对于连续 ping 多个或多个(需要几秒钟)该应用程序非常不稳定,滞后或其他什么(有时 logcat 说一些(600 +) 由于主线程上的工作太多而跳过了帧(Choreographer:跳过了 4230 帧!应用程序可能在其主线程上做了太多的工作。))。当我只有 1 台服务器需要 ping 时,应用程序工作得很好,我尝试使用此处代码中发布的方法,通过一个按钮对所有服务器进行 ping 操作,或者仅对其中的 1 个服务器进行 ping 操作等。有什么问题吗? (onClickListeners 是否应该太多?我认为不是,因为当我只有一个按钮来 ping 所有按钮时,它的效果是一样的)。单击该 textView 后的应用程序不会崩溃,但会延迟 5 秒以上。
Second_Fragment.java
package myapp.testapp;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.io.IOException;
import java.lang.InterruptedException;
import java.lang.Override;
import java.lang.Process;
import java.lang.Runtime;
public class Second_Fragment extends Fragment {
long uae;
long brazil;
long russia;
long eueast;
long euwest;
long asia;
long australia;
long useast;
long uswest;
long africa;
long india;
View myView2;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView2 = inflater.inflate(R.layout.second_layout, container, false);
//click button
TextView clickFirstButton = (TextView) myView2.findViewById(R.id.uae);
clickFirstButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
pingUAE();
if(pingUAE())
{
TextView textView = (TextView)myView2.findViewById(R.id.uaeping);
textView.setText("server on, ping is: " + uae + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.uaeping);
textView.setText("server off ");
}
}
});
TextView clickRussia = (TextView) myView2.findViewById(R.id.russia);
clickRussia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingRUSSIA();
if(pingRUSSIA())
{
TextView textView = (TextView)myView2.findViewById(R.id.russiaping);
textView.setText("server on, ping is: " + russia + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.russiaping);
textView.setText("server off ");
}
}
});
TextView clickBrazil = (TextView) myView2.findViewById(R.id.brazil);
clickBrazil.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingBRAZIL();
if(pingBRAZIL())
{
TextView textView = (TextView)myView2.findViewById(R.id.brazilping);
textView.setText("server on, ping is: " + brazil + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.brazilping);
textView.setText("server off ");
}
}
});
TextView clickEUEast = (TextView) myView2.findViewById(R.id.eueast);
clickEUEast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingEUEAST();
if(pingEUEAST())
{
TextView textView = (TextView)myView2.findViewById(R.id.eueastping);
textView.setText("server on, ping is: " + eueast + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.eueastping);
textView.setText("server off ");
}
}
});
TextView clickEUWest = (TextView) myView2.findViewById(R.id.euwest);
clickEUWest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingEUWEST();
if(pingEUWEST())
{
TextView textView = (TextView)myView2.findViewById(R.id.euwestping);
textView.setText("server on, ping is: " + euwest + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.euwestping);
textView.setText("server off ");
}
}
});
TextView clickAsia = (TextView) myView2.findViewById(R.id.asia);
clickAsia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingASIA();
if(pingASIA())
{
TextView textView = (TextView)myView2.findViewById(R.id.asiaping);
textView.setText("server on, ping is: " + asia + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.asiaping);
textView.setText("server off ");
}
}
});
TextView clickAustralia = (TextView) myView2.findViewById(R.id.australia);
clickAustralia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingAUSTRALIA();
if(pingAUSTRALIA())
{
TextView textView = (TextView)myView2.findViewById(R.id.australiaping);
textView.setText("server on, ping is: " + australia + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.australiaping);
textView.setText("server off ");
}
}
});
TextView clickUSEast = (TextView) myView2.findViewById(R.id.useast);
clickUSEast.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingUSEAST();
if(pingUSEAST())
{
TextView textView = (TextView)myView2.findViewById(R.id.useastping);
textView.setText("server on, ping is: " + useast + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.useastping);
textView.setText("server off ");
}
}
});
TextView clickUSWest = (TextView) myView2.findViewById(R.id.uswest);
clickUSWest.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingUSWEST();
if(pingUSWEST())
{
TextView textView = (TextView)myView2.findViewById(R.id.uswestping);
textView.setText("server on, ping is: " + uswest + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.uswestping);
textView.setText("server off ");
}
}
});
TextView clickAfrica = (TextView) myView2.findViewById(R.id.africa);
clickAfrica.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingAFRICA();
if(pingAFRICA())
{
TextView textView = (TextView)myView2.findViewById(R.id.africaping);
textView.setText("server on, ping is: " + africa + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.africaping);
textView.setText("server off ");
}
}
});
TextView clickIndia = (TextView) myView2.findViewById(R.id.india);
clickIndia.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
pingINDIA();
if(pingINDIA())
{
TextView textView = (TextView)myView2.findViewById(R.id.indiaping);
textView.setText("server on, ping is: " + india + "ms");
}
else
{
TextView textView = (TextView)myView2.findViewById(R.id.indiaping);
textView.setText("server off ");
}
}
});
return myView2;
}
public boolean pingUAE() {
Runtime runtime = Runtime.getRuntime();
try {
long a = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
int exitValue = ipProcess.waitFor();
uae = System.currentTimeMillis() % 1000 - a;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingBRAZIL() {
Runtime runtime = Runtime.getRuntime();
try {
long b = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 209.197.25.1");
int exitValue = ipProcess.waitFor();
brazil = System.currentTimeMillis() % 1000 - b;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingRUSSIA() {
Runtime runtime = Runtime.getRuntime();
try {
long c = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 146.66.156.1");
int exitValue = ipProcess.waitFor();
russia = System.currentTimeMillis() % 1000 - c;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingEUEAST() {
Runtime runtime = Runtime.getRuntime();
try {
long d = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 146.66.155.1");
int exitValue = ipProcess.waitFor();
eueast = System.currentTimeMillis() % 1000 - d;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingEUWEST() {
Runtime runtime = Runtime.getRuntime();
try {
long e = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 146.66.152.1");
int exitValue = ipProcess.waitFor();
euwest = System.currentTimeMillis() % 1000 - e;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingASIA() {
Runtime runtime = Runtime.getRuntime();
try {
long f = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 103.28.54.1");
int exitValue = ipProcess.waitFor();
asia = System.currentTimeMillis() % 1000 - f;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingAUSTRALIA() {
Runtime runtime = Runtime.getRuntime();
try {
long g = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 103.10.125.1");
int exitValue = ipProcess.waitFor();
australia = System.currentTimeMillis() % 1000 - g;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingUSEAST() {
Runtime runtime = Runtime.getRuntime();
try {
long h = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 208.78.164.1");
int exitValue = ipProcess.waitFor();
useast = System.currentTimeMillis() % 1000 - h;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingUSWEST() {
Runtime runtime = Runtime.getRuntime();
try {
long i = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 192.69.96.1");
int exitValue = ipProcess.waitFor();
uswest = System.currentTimeMillis() % 1000 - i;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingAFRICA() {
Runtime runtime = Runtime.getRuntime();
try {
long j = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 197.80.200.1");
int exitValue = ipProcess.waitFor();
africa = System.currentTimeMillis() % 1000 - j;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
public boolean pingINDIA() {
Runtime runtime = Runtime.getRuntime();
try {
long k = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 116.202.224.146");
int exitValue = ipProcess.waitFor();
india = System.currentTimeMillis() % 1000 - k;
return (exitValue == 0);
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
return false;
}
}
second_layout.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android">
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginTop="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/uae"
android:id="@+id/uae"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/uaeping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/brail"
android:id="@+id/brazil"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/brazilping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/russia"
android:id="@+id/russia"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/russiaping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/eu_east"
android:id="@+id/eueast"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/eueastping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/eu_west"
android:id="@+id/euwest"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/euwestping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/asia"
android:id="@+id/asia"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/asiaping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/australia"
android:id="@+id/australia"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/australiaping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/us_east"
android:id="@+id/useast"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/useastping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/us_west"
android:id="@+id/uswest"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/uswestping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/africa"
android:id="@+id/africa"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/africaping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/india"
android:id="@+id/india"
android:layout_above="@+id/button_first"
android:layout_centerHorizontal="true"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="@string/space"
android:id="@+id/indiaping"
android:layout_marginStart="3dp"
android:layout_marginBottom="4dp" />
</TableRow>
</TableLayout>
logcat
感谢您提供任何解决方案。
最佳答案
每次按下按钮时,主 UI 线程都会启动一个进程,然后等待它完成,从而导致 UI 线程暂停。这种暂停是导致 Android 报告“主线程工作过多”警告以及您的应用程序“滞后”的原因。
您需要更改 ping()
方法,以便它们在单独的线程中启动,并且不会导致您的 UI 线程等待。
类似这样的事情:
public class Second_Fragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
myView2 = inflater.inflate(R.layout.second_layout, container, false);
//click button
TextView clickFirstButton = (TextView) myView2.findViewById(R.id.uae);
clickFirstButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// launch the ping process in a separate thread
new Thread(pingUAE).start();
}
});
return myView2;
}
void setPingResult(int id, long pingtime) {
TextView textView = (TextView)myView2.findViewById(id);
if (pingtime >= 0) {
textView.setText("server on, ping is: " + pingtime + "ms");
}
else {
textView.setText("server off ");
}
}
public Runnable pingUAE = new Runnable() {
@Override
public void run() {
// initialise time to -1
uae = -1;
Runtime runtime = Runtime.getRuntime();
try {
long a = System.currentTimeMillis() % 1000;
Process ipProcess = runtime.exec("/system/bin/ping -c 1 8.8.8.8");
int exitValue = ipProcess.waitFor();
uae = System.currentTimeMillis() % 1000 - a;
} catch (IOException e) { e.printStackTrace(); }
catch (InterruptedException e) { e.printStackTrace(); }
// update the ping result - we need to call this on the UI thread
// because it updates UI elements (TextView)
getActivity().runOnUIThread(new Runnable() {
@Override
public void run() {
setPingResult(R.id.uae, uae);
}
});
}
}
}
关于java - Android——PING 不稳定、缓慢、不可靠,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32935966/
我们有一个客户想要通过他们的 CRM 数据库并以某种方式确定有效的电话号码,而实际上没有人坐在那里尝试给他们打电话。 有没有办法在电话号码(包括固定电话)上做类似于“ping”的事情? 最佳答案 您将
我知道 ICMP 请求包含 IP 地址。客户端 MAC 地址是否包含在 ICMP 请求中? ping 请求中包含哪些其他信息(如果有)? 最佳答案 ICMP“ping”数据包,正式称为“echo re
据我所知,Ping 命令使用 ICMP 请求 那么是否可以直接从命令行发送带有 ping 命令的短文本? 最佳答案 怎么样ping -p pattern ?请记住,并非所有版本的 ping支持 -p选
我有一个需要持续网络监控的 Android 应用程序,我需要在有互联网和没有互联网时收到通知。我试过 Android 连接管理器,它只告诉互联网 wifi 是否已连接,但不告诉是否有可达性。所以我
我需要检查延迟的服务器拒绝 PING 请求,是否有另一种方法来检查我到服务器的延迟?提前致谢。 最佳答案 使用基于 TCP 的 ping。 如果您可以访问 Windows 框,请使用 http://t
我在 Linux 系统上不允许使用“ping”应用程序(ping:icmp 打开套接字:不允许操作)。但是,我正在编写的脚本(PHP,但如果需要,我可以对任何脚本/程序使用 exec() 调用)需要确
我想创建将通过 ping IP 列表进行验证的 bash 脚本 问题是尽管我将 ping 定义如下,但 ping 到任何地址都需要几秒钟(以防没有 ping 应答): Ping –c 1 126.7
最近几周我做了相当多的研究试图创建一个连接诊断工具,我不太想只检查连接是否可用而是诊断是否存在抖动、数据包丢失等.. 到目前为止,Java 似乎不支持真正的 ICMP 请求,并且有一些解决方法,但没有
我有一个域名要测试。 Ping 约为 20 毫秒。 “HTTP HEAD”约为 500 毫秒。 为什么他们之间有这么大的区别?这是服务器端的问题吗?是不是差别太大了? 25 次。 最佳答案 好吧,首先
我想在 ping 主机后获取 ping 执行时间和结果字符串。我该怎么做? 最佳答案 long currentTime = System.currentTimeMillis(); boolean is
我有以下代码: $Servers = "8.8.8.8" $TimeStart = Get-Date $TimeEnd = $TimeStart.AddMinutes(1) Do { Fore
例如,我输入 ping www.domain.com,我想要的输出如下: 64 bytes from yyy.xxx.com (www.domain.com): icmp_seq=32 ttl=52
在某些设备上,二进制 /system/bin/ping 似乎已被删除。当我通过 USB 连接设备并输入 adb shell ping 它说: /system/bin/sh: ping: not fou
您好,我需要使用 Java 代码执行 PING 命令并获取 ping 主机的摘要。如何用 Java 实现? 最佳答案 按照 viralpatel 的规定,您可以使用 Runtime.exec() 下面
我正在学习 C 中的 ping 实现。问题是,我使用原始套接字来接收数据包。对于所有数据包,我们在 ICMP header 中都有一个标识值。 我在多个终端运行ping。 例如,我在三个终端中运行三个
例如在Windows 7下命令的输出 ping -n 1 ::1 正在关注: Pinging ::1 with 32 bytes of data: Reply from ::1: time<1ms P
我正在制作一个 bash 脚本来配置我们使用的一些设备,但我试图在其中进行登录,换句话说.. 当脚本开始检查日期、时间、用户和其他值,然后 > 这个值到远程服务器中的 csv。 我需要 ping 来检
概念上的区别是什么?是的,我意识到它们都应该产生相似的结果,但我认为环回的想法是它实际上并没有到达堆栈的传输步骤。如果那是真的那么为什么 ping 你自己的 ip 工作得那么快? ping 您自己的地
我正在尝试连接到 Java 中的 URL,看看它们是否有效,我想知道是否需要连接到 HTTPS(端口 443?)或者仅连接到 HTTP(端口 80)就足够了。 连接到 HTTPS 网站是否有效?我应该
我正在尝试 ping 从 192.168.1.1 到 192.168.1.254 的 IP 地址。首先,我使用 InetAddress 类,但它被窃听了,有些 IP 即使可以访问也无法访问。之后我尝试
我是一名优秀的程序员,十分优秀!