Не существует «стандартного» способа реализовать запрос / ответ с помощью webSocket. Это не является частью стандарта webSocket. Это, конечно, можно сделать (подробнее об этом ниже), но не существует «стандартного» способа сделать это.
Библиотека socket.io, созданная поверх webSocket, имеет опцию ответа, встроенную в любое отправляемое сообщение.
Отправитель делает что-то вроде этого:
socket.emit("msgName", someData, function(data) {
// data is the "response" to sending this message
console.log(data);
});
Получатель сообщения, ожидающего ответа, делает что-то подобное, чтобы вызвать отправку ответа:
socket.on("msgName", (someData, fn) => {
// send response
fn(someOtherData);
});
Вы можете реализовать свою собственную схему ответа в webSocket. Вам нужно будет добавить в свой формат данных уникальный идентификатор для каждого запроса, чтобы вы могли отправить тот же уникальный идентификатор обратно в ответ, чтобы получатель знал, какой ответ принадлежит какому запросу.