Выполните синхронный запрос к серверу и ожидайте ответа
Используйте метод POST, чтобы выполнить синхронный запрос к серверу. В синхронном режиме, после того, как сервер получает запрос, рабочий процесс на сервере блокирует все дальнейшие запросы, пока это не завершило обработку исходного запроса. Рабочий автоматически возвращает ответ клиенту после того, как обработка будет завершена. Никакие другие методы HTTP не необходимы, чтобы получить ответ из сервера.
Сервер может одновременно выполнить столько же синхронных запросов сколько количество доступных рабочих.
Следующие разделы используют JSON в качестве формата сериализации данных. Для примера, который показывает, как использовать protobuf в качестве формата сериализации данных с Java® клиентский API, смотрите Синхронные УСПОКОИТЕЛЬНЫЕ Просьбы Использовать Буферы Протокола в Клиенте Java (MATLAB Production Server), и с клиентским API.NET, смотрите Синхронные УСПОКОИТЕЛЬНЫЕ Просьбы Использовать Буферы Протокола в Клиенте.NET (MATLAB Production Server).
POST
http://host:port/deployedArchiveName/matlabFunctionName
'none'.
application/json
Имя | Описание | Тип значения |
---|---|---|
nargout | Количество выходных параметров, которые клиентское приложение запрашивает из развернутого MATLAB® функция. Обратите внимание на то, что функции MATLAB, в зависимости от их намеченной цели, может быть закодирован, чтобы возвратить несколько выходных параметров. Подмножество этих потенциальных выходных параметров может быть задано с помощью | number |
rhs | Входные параметры к развернутой функции MATLAB в виде массива разделенных от запятой значений. | [arg1,arg2,arg3,...] |
outputFormat | Задайте, должен ли MATLAB выход в ответе быть возвращен с помощью большого или маленького обозначения JSON, и ли Для получения дополнительной информации о представлении JSON типов данных MATLAB см. Представление JSON типов данных MATLAB (MATLAB Production Server). | { "mode" : "small | large", "nanInfFormat" : "string | object" } |
Пример:
Один входной параметр:
{ "nargout": 1, "rhs": [5], "outputFormat" : { "mode" : "small","nanInfFormat": "object"} }
{ "nargout": 2, "rhs": [3, 4, 5 ...], "outputFormat" : { "mode" : "large", "nanInfFormat" : "string" } }
200 OK
Имя | Описание | Тип значения |
---|---|---|
lhs |
|
|
Пример:
{ "lhs":[[[17,24,1,8,15],[23,5,7,14,16],[4,6,13,20,22],[10,12,19,21,3],[11,18,25,2,9]]] } |
400 InvalidJSON
404 FunctionNotFound
404 ComponentNotFound
Запрос: POST /mymagic/mymagic HTTP/1.1 Host: localhost:9910 Content-Type: application/json {"rhs":[5],"nargout":1,"outputFormat":{"mode":"small","nanType":"string"}} Ответ: Status Code: 200 OK { "lhs":[[[17,24,1,8,15],[23,5,7,14,16],[4,6,13,20,22],[10,12,19,21,3],[11,18,25,2,9]]] } |
var data = JSON.stringify({ "rhs": [5], "nargout": 1, "outputFormat": {"mode": "small", "nanType": "string"} }); var xhr = new XMLHttpRequest(); xhr.addEventListener("readystatechange", function () { if (this.readyState === 4) { console.log(this.responseText); } }); xhr.open("POST", "http://localhost:9910/mymagic/mymagic"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data); |