主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

配置客户端-服务器连接

Java® 客户端 API 中的 MWHttpClientConfig 接口定义了 MWHttpClient 实例在建立客户端-服务器连接时使用的默认配置。要修改默认配置,请扩展 MWHttpClientDefaultConfig 类并重写其方法。

默认配置

默认配置由以下字段组成。MWHttpClientDefaultConfig 类从 MWHttpClientConfig 接口继承了这些字段。

字段名称描述默认值
DEFAULT_IS_COOKIE_ENABLED确定客户端是否设置 HTTP cookie。true
DEFAULT_IS_INTERRUPTABLE确定客户端是否可以中断 MATLAB® 函数执行。false
DEFAULT_RESPONSE_SIZE_LIMIT客户端接受的响应的最大大小(以字节为单位)。64*1024*1024 (64 MB)
DEFAULT_NUM_CONNECTIONS_PER_ADDRESS客户端为满足多个请求而打开的最大连接数。-1,指定客户端可以使用系统允许的任意数量的连接。
DEFAULT_TIMEOUT_MS客户端在超时之前等待服务器响应的时间(以毫秒为单位)。120000

实现自定义连接配置

要实现自定义客户端-服务器连接配置,请扩展 MWHttpClientDefaultConfig 类并重写其方法,为您的自定义配置提供实现。MWHttpClientDefaultConfig 类有一个与每个配置字段相对应的 getter 方法,您可以覆盖它。

方法描述
public boolean isCookieEnabled()如果客户端设置了 HTTP cookie,则返回 true;否则,返回 false
public boolean isInterruptible()如果客户端可以在等待响应时中断已部署的 MATLAB 函数的执行,则返回 true;否则,返回 false
public int getResponseSizeLimit()返回客户端在服务器响应中可以接受的最大字节数。
public int getTimeoutMs()返回客户端在产生错误之前等待响应的时间(以毫秒为单位)。
public in getMaxConnectionsPerAddress()返回客户端可以用来处理同时请求的最大连接数。

注意

如果 isInterruptible() 返回 false,那么 getMaxConnectionsPerAddress() 必须返回 -1

要更改一个或多个客户端-服务器连接属性:

  1. 通过扩展 MWHttpClientDefaultConfig 类实现自定义连接配置。

  2. 使用接受 MWHttpClient 实例的 MWHttpClientDefaultConfig 构造函数创建客户端-服务器连接。

您只需覆盖想要更改的属性的 getter。例如,要指定客户端在六秒后超时、可以接受 4 MB 的响应并且不保存 HTTP cookie,请覆盖 getTimeOutMs()getResponseSizeLimit()isCookieEnabled()。示例代码如下。

//Implement custom configuration
class MyClientConfig extends MWHttpClientDefaultConfig
{
  public long getTimeOutMs()
  {
    return 6000;
  }
  public int getResponseSizeLimit()
  {
    return 4*1024*1024;
  }
  public boolean isCookieEnabled()
  {
    return false;
  }
}
...
//Create client-server connection
MWClient client = new MWHttpClient(new MyClientConfig());
...

要修改安全配置,请提供一个扩展 MWSSLDefaultConfig 实用程序类的对象作为 MWHttpClient 构造函数的参量。

...
MWHttpClient(MWHttpClientConfig config, MWSSLConfig sslConfig)
...
有关详细信息,请参阅自定义安全配置

另请参阅

主题