Сконфигурируйте связь клиент-сервер

Вы конфигурируете связь клиент-сервер с помощью объекта, который реализует интерфейс MWHttpClientConfig. Этот интерфейс задает эти свойства:

  • Interruptible определяет, могут ли функции MATLAB® быть прерваны

  • TimeOutMs определяет количество времени в миллисекундах, клиент ожидает ответа перед таймаутом

  • MaxConnections - определяет максимальное количество связей, которые клиент открывает, чтобы обработать несколько запросов

  • ResponseSizeLimit - определяет максимальный размер, в байтах, ответа, который принимает клиент.

API обеспечивает реализацию по умолчанию, MWHttpClientDefaultConfig, который автоматически используется, когда клиент HTTP инстанцируют. Чтобы изменить настройку, расширьте MWHttpClientDefaultConfig и передайте его клиентскому конструктору HTTP.

Создайте связь с настройкой по умолчанию

Когда вы создаете клиентскую связь с помощью конструктора по умолчанию, MWHttpClient(), экземпляр MWHttpClientDefaultConfig автоматически используется, чтобы сконфигурировать связь клиент-сервер. Конфигурации модели по умолчанию эти свойства связи:

  • Interruptible = false

  • TimeOutMs = 120000

  • MaxConnections = -1, указывая, что клиент использует столько связей, сколько система позволяет

  • ResponseSizeLimit = 64*1024*1024 (64 МБАЙТА)

Создайте связь с пользовательской конфигурацией

Изменить одно или несколько свойств связи:

  1. Реализуйте пользовательскую настройку связи путем расширения интерфейса MWHttpClientDefaultConfig.

  2. Создайте клиентскую связь с помощью одного из конструкторов, который принимает объект настройки:

    • MWHttpClient(MWHttpClientConfig config)

    • MWHttpClient(MWHttpClientConfig config, MWSSLConfig sslConfig)

Этот пример кода создает клиентскую связь со значением тайм-аута 1 000 мс:

class MyClientConfig extends MWHttpClientDefaultConfig 
{
   public long getTimeOutMs()
   {
     return 1000;
   }
 }
 ...
 MWClient client = new MWHttpClient(new MyClientConfig());
 ... 

Для получения информации смотрите, Настраивают Конфигурацию безопасности.

Реализуйте пользовательскую настройку связи

Чтобы реализовать пользовательскую настройку связи расширяют интерфейс MWHttpClientDefaultConfig. Интерфейс MWHttpClientDefaultConfig имеет один метод получателя для каждого свойства настройки:

  • public int getMaxConnectionsPerAddress() возвращает значение для максимального количества связей, которые клиент может использовать, чтобы обработать одновременные запросы.

  • public long getTimeOutMs() возвращает количество миллисекунд, клиент будет ожидать ответа прежде, чем сгенерировать ошибку.

  • public boolean isInterruptible() возвращает булевскую переменную, задающую, может ли функция MATLAB быть прервана при ожидании ответа.

    Примечание

    Если этот метод возвращает false, то getMaxConnectionsPerAddress() должен возвратить -1.

  • public int getResponseSizeLimit() возвращает максимальное количество байтов, которые клиент может принять в ответе.

Вам только нужны к переопределениям методы get для свойств, которые вы хотите изменить. Например, чтобы указать, что клиент испытывает таймаут после 1 с и может принять ответы на 4 Мбайта, заменить getTimeOutMs() и getResponseSizeLimit():

class MyClientConfig extends MWHttpClientDefaultConfig
 {
   public long getTimeOutMs()
   {
     return 60000;
   }
   public int getResponseSizeLimit()
   {
     return 4*1024*1024;
   }
 }