|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- using SuperSocket.ClientEngine;
- using System;
- using System.Collections.Generic;
- using System.Threading;
- using System.Threading.Tasks;
- using WebSocket4Net;
-
- namespace XHZB.Desktop.WebSocket
- {
- public class SocketClient
- {
-
- private static readonly Dictionary<Type, object> WinDic = new Dictionary<Type, object>();
- private static SocketClient instance;
- public static SocketClient getInstance()
- {
- if (instance == null)
- {
- instance = new SocketClient();
- }
- return instance;
- }
-
- public static void StartWsClient()
- {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- public void addWin(object win)
- {
- if (WinDic.ContainsKey(win.GetType()))
- {
- WinDic[win.GetType()] = win;
- }
- else
- {
- WinDic.Add(win.GetType(), win);
- }
- }
-
-
-
- private static void sendUserChangeToWin()
- {
- foreach (KeyValuePair<Type, object> kvp in WinDic)
- {
- if (kvp.Value is SocketCallback callback)
- {
- callback.userListChange();
- }
- }
- }
-
-
-
-
- public void removedWin(object win)
- {
- if (WinDic.ContainsKey(win.GetType()))
- {
- WinDic.Remove(win.GetType());
- }
- }
- }
- }
|