Beispiel #1
0
        void ReceivedCallback(IAsyncResult asyncResult)
        {
            try
            {
                ReceivedDataLen = Sock.EndReceive(asyncResult);
            }
            catch (SocketException) { return; }
            catch (ObjectDisposedException) { return; }

            if (ReceivedDataLen <= 0)
            {
                EventProvider.ExecuteDisconnectedHandler(IP);
                Dispose(this);
                return;
            }

            EventProvider.ExecuteReceivedDataHandler(Pack.Clone(), this);

            Array.Clear(Pack, 0, Pack.Size);

            Sock.BeginReceive(Pack, 0, Pack.Size, SocketFlags.None, ReceivedCallback, null);
        }