Java 建议的Ping和URL连接超时是什么?

Java 建议的Ping和URL连接超时是什么?,java,network-programming,timeout,connection,Java,Network Programming,Timeout,Connection,我目前正在做一些网络编程,有几个关于超时的问题 执行ping时是否有建议的超时 另外,在进行URL连接时是否有建议的超时 编辑:在我的例子中,使用ping,我只是尝试查看设备是否连接到网络。通过URL连接,我试图打开一个URL并从中获取文本 谢谢一般来说,我为一个请求设置了60秒的超时时间(如果您通过一个请求传输了大量MB的文件,则这会有所不同) 有两种类型的ping。主动ping,在请求时实际ping可ping组件;被动ping,在后台ping组件,在请求时仅返回缓存状态。在我的应用程序中,我

我目前正在做一些网络编程,有几个关于超时的问题

执行ping时是否有建议的超时

另外,在进行URL连接时是否有建议的超时

编辑:在我的例子中,使用ping,我只是尝试查看设备是否连接到网络。通过URL连接,我试图打开一个URL并从中获取文本


谢谢

一般来说,我为一个请求设置了60秒的超时时间(如果您通过一个请求传输了大量MB的文件,则这会有所不同)


有两种类型的ping。主动ping,在请求时实际ping可ping组件;被动ping,在后台ping组件,在请求时仅返回缓存状态。在我的应用程序中,我仍然将这些超时设置为60秒,但如果您认为需要fail fast,请随意设置一个较小的数字。

您希望您的网络表现如何?这将指示您如何看待连接的行为,以及您期望超时的时间


e、 g.您的ping将执行多少次网络跳转?在正常情况下,这些设备的加载程度如何?

这取决于您要连接到的位置

举个例子:如果您连接到同一数据中心或甚至同一机架中的另一个机箱,则只有很少的跳转(路由器、交换机、防火墙等),并且通常应在一秒钟内建立连接-因此无需30秒超时(我将其设置为5秒)

如果你连接到另一个大陆上的一个盒子,那是一个完全不同的故事。数据包丢失、拥挤的路由和连接可能会降低连接速度。30秒或60秒的超时时间听起来不错


另外,你应该考虑如果你的客户真的想等60秒。再举一个例子,如果您连接到一个web服务以便为来自用户的HTTP请求提供服务。等待60秒没有多大意义,因为用户无论如何都会取消/离开请求。此外,这种阻塞服务调用可能会导致大量等待线程填满服务器的线程池,这不是一件好事。在这种情况下,我会将超时时间设置为10秒,并冒着web服务变慢时向用户抛出“服务不可用”或类似页面的风险。

我为缺乏相关知识而道歉。网络跳转和设备负载是什么意思?