Socket.setPerformancePreferences

Bha*_*kar 5 java sockets

任何人都可以帮助我获得有关此方法的Socket.setPerformancePreferences(int connectionTime, int latency, int bandwidth)作用以及它如何影响Socket性能的更多信息吗?Java API信息非常简短且只是介绍性的.任何包含一些示例和一些讨论的链接都将非常有用.我试过谷歌搜索它,但也可以找到非常有用的信息.

jye*_*min 13

以下是Oracle发行版1.6中此方法的源代码:

public void setPerformancePreferences(int connectionTime,
                                      int latency,
                                      int bandwidth)
{
/* Not implemented yet */
}
Run Code Online (Sandbox Code Playgroud)

所以它什么都不做.


小智 1

public void setPerformancePreferences(int connectionTime,
                                      int latency,
                                      int bandwidth)
Run Code Online (Sandbox Code Playgroud)

设置此套接字的性能首选项。套接字默认使用 TCP/IP 协议。某些实现可能会提供具有与 TCP/IP 不同的性能特征的替代协议。此方法允许应用程序表达自己的偏好,即当实现从可用协议中进行选择时应如何进行这些权衡。

性能偏好由三个整数描述,其值表示短连接时间、低延迟和高带宽的相对重要性。整数的绝对值是无关紧要的;为了选择协议,只需比较这些值,值越大表明偏好越强。负值表示优先级低于正值。例如,如果应用程序更喜欢短连接时间而不是低延迟和高带宽,那么它可以使用值 (1, 0, 0) 调用此方法。如果应用程序更喜欢高带宽而不是低延迟,并且更喜欢低延迟而不是短连接时间,那么它可以使用值 (0, 1, 2) 调用此方法。

连接此套接字后调用此方法将不会产生任何效果。

参数: connectionTime - 表示短连接时间延迟的相对重要性的 int - 表示低延迟带宽的相对重要性的 int - 表示高带宽的相对重要性的 int 从: 1.5 开始

来源:
http://docs.oracle.com/javase/1.5.0/docs/api/java/net/Socket.html#setPerformancePreferences(int, int, int)

但请注意,如果您为 Android 编码,那么在 Eclipse 中,android 文档会告诉我有关此方法的以下信息:

public void setPerformancePreferences (int connectionTime, int latency, int bandwidth) 
Run Code Online (Sandbox Code Playgroud)

自:API 级别 1 设置连接时间、延迟和带宽的性能首选项。

该方法目前不执行任何操作。

参数connectionTime 表示短连接时间重要性的值。延迟 该值代表低延迟的重要性。带宽 代表高带宽重要性的值。

请注意“此方法当前不执行任何操作”这一行。我不确定这是否适用于所有 Android 设备,该文档是否已过时或什么,但根据它,这种方法在技术上是存在的,但在 Android 平台上未实现。