Вы конфигурируете связь клиент-сервер с помощью объекта, который реализует интерфейс MWHttpClientConfig
. Этот интерфейс задает эти свойства:
Interruptible
определяет, могут ли функции MATLAB® быть прерваны
TimeOutMs
определяет количество времени в миллисекундах, клиент ожидает ответа перед таймаутом
MaxConnections
- определяет максимальное количество связей, которые клиент открывает, чтобы обработать несколько запросов
ResponseSizeLimit
- определяет максимальный размер, в байтах, ответа, который принимает клиент.
API обеспечивает реализацию по умолчанию, MWHttpClientDefaultConfig
, который автоматически используется, когда клиент HTTP инстанцируют. Чтобы изменить настройку, расширьте MWHttpClientDefaultConfig
и передайте его клиентскому конструктору HTTP.
Когда вы создаете клиентскую связь с помощью конструктора по умолчанию, MWHttpClient()
, экземпляр MWHttpClientDefaultConfig
автоматически используется, чтобы сконфигурировать связь клиент-сервер. Конфигурации модели по умолчанию эти свойства связи:
Interruptible
= false
TimeOutMs
= 120000
MaxConnections
= -1
, указывая, что клиент использует столько связей, сколько система позволяет
ResponseSizeLimit
= 64*1024*1024
(64 МБАЙТА)
Изменить одно или несколько свойств связи:
Реализуйте пользовательскую настройку связи путем расширения интерфейса MWHttpClientDefaultConfig
.
Создайте клиентскую связь с помощью одного из конструкторов, который принимает объект настройки:
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; } }