@Malis

Как удерживать соединение и отправлять данные по этому соединению?

Допустим есть клиент (C#), он отправляет запрос к серверу (PHP)
private IEnumerator SendRequest(WWWForm form){
    form.AddField("Action", "Test");
    form.AddField("Data", "Data=" + data);
    var req = UnityWebRequest.Post(URL, form);
    yield return req.SendWebRequest();
    if(req.result == UnityWebRequest.Result.Success){
        Debug.Log(req.downloadHandler.text);
        }
    }

<?php
$Action = $_POST['Action'];
$Data = $_POST['Data'];
if($Action == "Test"){
    echo "Answer=SomeAnswer";
    }
?>

в данном примере клиент отправил запрос и получил ответ, всё, на этом общение завершено, как серверу держать соединение и отправлять дальше данные на это соединение?
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Стандартный HTTP не предназначен для постоянного соединения и работает по принципу запрос/ответ.
Если нужен асинхронный обмен сообщениями по постоянному соединению, то используйте вебсокеты.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Кажется, вам нужны вебсокеты:
https://learn.javascript.ru/websocket
Либо gRPC с его стримами:
https://grpc.io/docs/languages/go/basics/
Либо graphql, но там стримы вроде только однонаправленные доступны.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы