private void ProcessVerifyReqMsg(IUdpEvent evt) { UdpServerReceiver serverReceiver = evt.GetUdpReceiver() as UdpServerReceiver; if (serverReceiver == null) { return; } int iepHashCode = evt.GetIPEndPoint().GetHashCode(); UdpServerSessionMgr mgr = serverReceiver.GetUdpSessionMgr(); UdpServerSession session = mgr.FindSession(iepHashCode); if (session == null) { session = mgr.CreateSession(serverReceiver.GetSocket(), evt.GetIPEndPoint()); } else { if (!session.IsRepeatedVerify(iepHashCode)) { mgr.DelSession(iepHashCode); session = mgr.CreateSession(serverReceiver.GetSocket(), evt.GetIPEndPoint()); } } if (session == null) { Log.ErrorAf("[Udp] Verify Ok And Create Session Error"); return; } byte[] resKey = System.Text.Encoding.Default.GetBytes(KcpDef.KcpVerifyRes); MemoryStream memoryStream = new MemoryStream(); BinaryWriter writer = new BinaryWriter(memoryStream); writer.Write(resKey); writer.Write(session.GetConv()); serverReceiver.GetUdpSender().SendUdpMsg(serverReceiver.GetSocket(), evt.GetIPEndPoint(), memoryStream.ToArray()); }