Program.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. using Client.SSE;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.IO;
  5. using System.Net.Http;
  6. using System.Security.Policy;
  7. using System.Text;
  8. using System.Text.Json;
  9. using System.Text.Json.Serialization;
  10. using System.Threading;
  11. using System.Threading.Tasks;
  12. namespace Client
  13. {
  14. class Program
  15. {
  16. static void Main(string[] args)
  17. {
  18. //SSE
  19. try
  20. {
  21. Console.WriteLine("12536".PadLeft(7, '0'));
  22. var cts = new CancellationTokenSource();
  23. var header = new Dictionary<string, string>() { { "X-Auth-Name", "IES5" } };
  24. //var sse = new EventSource(new Uri("https://localhost:5001/service/sse"), header, 5000);
  25. var sse = new EventSource(new Uri("https://teammodelos-test.chinacloudsites.cn/service/sse"), header, 5000);
  26. sse.StateChanged += Sse_StateChanged;
  27. sse.EventReceived += Sse_EventReceived;
  28. sse.Start(cts.Token);
  29. //cts?.Cancel(); 中斷SSE Client連線
  30. }
  31. catch (TaskCanceledException ex)
  32. {
  33. Console.WriteLine(ex.Message);
  34. }
  35. catch (AggregateException ex)
  36. {
  37. Console.WriteLine(ex.Message);
  38. }
  39. catch (Exception ex)
  40. {
  41. Console.WriteLine(ex.Message);
  42. }
  43. Console.ReadLine();
  44. }
  45. private static void Sse_EventReceived(object sender, ServerSentEventReceivedEventArgs e)
  46. {
  47. var mm = e.Message;
  48. Console.WriteLine(mm.Data);
  49. }
  50. private static void Sse_StateChanged(object sender, StateChangedEventArgs e)
  51. {
  52. //CONNECTING 0 連線中
  53. //OPEN 1 開啟
  54. //CLOSED 2 關閉
  55. var aa = e.State;
  56. Console.WriteLine(aa.ToString());
  57. }
  58. }
  59. }