コード例 #1
0
 public void Dispose()
 {
     heartTimer.Dispose();
     CurrentSender.Dispose();
     currentPool.Dispose();
     currSocket.Dispose();
     OfflineContainer.Dispose();
     _model = null;
     Console.WriteLine("资源清理完成");
 }
コード例 #2
0
        public void Notify(string message, string userID, int msgLifeHour = 1)
        {
            byte[] buffer = Encoding.Default.GetBytes(message);
            var    arg    = new SocketSenderArgs()
            {
                ConnectID         = userID,
                Message           = message,
                MessageType       = SocketMessageType.Notification,
                OnSendComplete    = completeNotifyCallback,
                MessageFormatting = this.MessageFormatting,
                LifeHours         = msgLifeHour
            };

            CurrentSender.Enqueue(arg);
        }
コード例 #3
0
 /// <summary>
 /// 向连接池中所有用户发送通知
 /// </summary>
 /// <param name="message"></param>
 public void Notify(string message, int msgLifeHour = 1)
 {
     foreach (var conn in currentPool.GetAll())
     {
         var arg = new SocketSenderArgs()
         {
             ConnectID         = conn.Key,
             Message           = message,
             MessageType       = SocketMessageType.Notification,
             OnSendComplete    = completeNotifyCallback,
             MessageFormatting = this.MessageFormatting,
             LifeHours         = msgLifeHour
         };
         CurrentSender.Enqueue(arg);
     }
 }