12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- using Client.SSE;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Net.Http;
- using System.Security.Policy;
- using System.Text;
- using System.Text.Json;
- using System.Text.Json.Serialization;
- using System.Threading;
- using System.Threading.Tasks;
- namespace Client
- {
- class Program
- {
- static void Main(string[] args)
- {
- //SSE
- try
- {
- var cts = new CancellationTokenSource();
- var header = new Dictionary<string, string>() { { "X-Auth-Name", "IES5" } };
- var sse = new EventSource(new Uri("https://localhost:5001/service/sse"), header, 5000);
- //var sse = new EventSource(new Uri("https://api2.teammodel.net/service/sse"), header, 5000);
- sse.StateChanged += Sse_StateChanged;
- sse.EventReceived += Sse_EventReceived;
- sse.Start(cts.Token);
- //cts?.Cancel(); 中斷SSE Client連線
- }
- catch (TaskCanceledException ex)
- {
- Console.WriteLine(ex.Message);
- }
- catch (AggregateException ex)
- {
- Console.WriteLine(ex.Message);
- }
- catch (Exception ex)
- {
- Console.WriteLine(ex.Message);
- }
- Console.ReadLine();
- }
- private static void Sse_EventReceived(object sender, ServerSentEventReceivedEventArgs e)
- {
- var mm = e.Message;
- Console.WriteLine(mm.Data);
- }
- private static void Sse_StateChanged(object sender, StateChangedEventArgs e)
- {
- //CONNECTING 0 連線中
- //OPEN 1 開啟
- //CLOSED 2 關閉
- var aa = e.State;
- Console.WriteLine(aa.ToString());
- }
- }
- }
|