Exemple #1
0
        /// <summary>
        /// 应在 ReceiveData() 最开始调用
        /// 接收 KeyBytes, 调用 CheckIdentity();
        /// 向 Dictionary 添加 SocketResponder 权限;
        /// 并向 Client 端返回 SocketIdentity
        /// </summary>
        /// <param name="responder"></param>
        private void ResponseIdentity(SocketResponder responder)
        {
            responder.ReceiveBytes(out HB32Header header, out byte[] bytes);
            SocketIdentityCheckEventArgs e = new SocketIdentityCheckEventArgs(header, bytes);

            CheckIdentity(this, e);
            SocketIdentity identity = e.CheckedIndentity;

            lock (ClientIdentitiesLock)
            {
                ClientIdentities.Add(responder, identity);
            }
            responder.SendHeader(SocketPacketFlag.AuthenticationResponse, i1: (int)identity);
        }
Exemple #2
0
 private void CheckIdentity(object sender, SocketIdentityCheckEventArgs e)
 {
     e.CheckedIndentity = SocketLib.Enums.SocketIdentity.All;
 }