protected virtual void SendRespone(IEnumerable<IClient> clientsToSend, PacketData userData, PacketDataType dataType = PacketDataType.Unknown)
 {
     if (OnResponseDataCallBack != null)
     {
         var e = new ResponseDataEventArgs() { ClientsToSend = clientsToSend, UserDataArgs = new PacketContainer(dataType, userData) };
         OnResponseDataCallBack(this, e);
     }
 }
        protected void ResponseUserEvent(object o, ResponseDataEventArgs e)
        {
            foreach (var clientSaes in e.ClientsToSend.Where(x => x.IsReadyToReceive))
            {
                var response = e.UserDataArgs.ToDynamic().ToString();
                var encodedData = Encoding.UTF8.GetBytes(response);
                _server.SendMessageToSocket(clientSaes, encodedData);
            }

            if (OnResponseUserEvent != null)
            {
                OnResponseUserEvent(o, e);
            }
        }