Beispiel #1
0
        public void ReceiveCallBack(IAsyncResult result)
        {
            try
            {
                socket = (Socket)result.AsyncState;

                if (!socket.Connected)
                {
                    Disconnect();
                    return;
                }

                int    size   = socket.EndReceive(result);
                byte[] buffer = new byte[size];
                Array.Copy(_buffer, buffer, buffer.Length);
                BigEndianReader reader = new BigEndianReader(buffer);

                ConnectionHandler.BuildPacket(buffer, this, server);

                socket.BeginReceive(_buffer, 0, _buffer.Length, SocketFlags.None, new AsyncCallback(ReceiveCallBack), socket);
            }
            catch (Exception e)
            {
                Disconnect();
                return;
            }
        }