Мне нужно прослушать отправленное сервером событие на странице (WebView или HttpClient) с помощью Xamarin, а затем перехватить новые потоковые данные на странице http. Как я могу обнаружить событие данных, когда оно произошло?
Допустим, мы активируем тревогу на Xamarin через определенное c время ...
Код на стороне сервера:
Response.ContentType = "text/event-stream";
while (Response.IsClientConnected)
{
Response.Write(string.Format("data: {0}\n\n", DateTime.Now.ToString()));
Response.Flush();
System.Threading.Thread.Sleep(10 * 1000);
}
Response.Close();
Необработанный вывод:
data: 3.02.2020 21:01:08
data: 3.02.2020 21:01:18
data: 3.02.2020 21:01:28
data: 3.02.2020 21:01:38
data: 3.02.2020 21:01:48
data: 3.02.2020 21:01:58
Код на стороне клиента:
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:f="http://www.composite.net/ns/function/1.0">
<head>
</head>
<body>
<script type="text/javascript">
//<![CDATA[
var source = new EventSource("Time/");
source.onmessage = function(event) {
document.getElementById("result").innerHTML = event.data;
};
//]]>
</script>
<div>
<h1>Time: <span id="result"></span></h1>
</div>
</body>
</html>