Example #1
0
 public void StartConnectionCheck(Socket socket, ConnectionCheckHandler OnConnectionChanged)
 {
     byte[] buf = new byte[255];
     try
     {
         socket.BeginReceive(buf, 0, 255, SocketFlags.None, (ar) =>
         {
             if (socket.EndReceive(ar) > 0)
             {
                 OnConnectionChanged?.Invoke(true);
                 StartConnectionCheck(socket, OnConnectionChanged);
             }
             else
             {
                 OnConnectionChanged?.Invoke(false);
                 StartConnectionCheck(socket, OnConnectionChanged);
             }
         }, socket);
     }
     catch (Exception e)
     {
         OnConnectionChanged?.Invoke(false);
     }
 }
Example #2
0
 public void StopConnectionCheck(Socket socket, ConnectionCheckHandler onConnectionChanged)
 {
     socket.Close();
     onConnectionChanged?.Invoke(false);
 }
Example #3
0
 public void SetConnectionChangedEvent(ConnectionCheckHandler _OnConnectionChanged)
 {
     OnConnectionChanged += _OnConnectionChanged;
 }