/// <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); }
private void CheckIdentity(object sender, SocketIdentityCheckEventArgs e) { e.CheckedIndentity = SocketLib.Enums.SocketIdentity.All; }