示例#1
0
 //未读消息接受
 public static void Unread_Chat_Receive(unread_Object unread_obj, int idx)
 {
     try
     {
         //开始接收消息
         if (unread_obj.flag)
         {
             unread_obj.unread_socket.BeginReceive(recv_bytes, 0, recv_bytes.Length, SocketFlags.None, new AsyncCallback(Unread_Chat_Receive_Callback), unread_obj);
         }
     }
     catch (Exception ex)
     {
         Console.WriteLine("异常信息:", ex.Message);
     }
 }
示例#2
0
        //回调函数
        public static void Unread_Chat_Receive_Callback(IAsyncResult ar)
        {
            unread_Object unread_obj = (unread_Object)ar.AsyncState;

            if (unread_obj.flag)
            {
                int    lengths  = unread_obj.unread_socket.EndReceive(ar);
                string recv_str = null;
                recv_str = Encoding.UTF8.GetString(recv_bytes, 0, lengths);
                if (recv_str != null && recv_str.Split('.')[0] == "info")
                {
                    unread_obj.unread_msg.Add(recv_str);
                    unread_obj.msg_count++;
                    if (unread_obj.msg_count == 1)
                    {
                        unread_obj.main_Window.add_to_list(recv_str);
                    }
                }
                unread_obj.unread_socket.BeginReceive(recv_bytes, 0, recv_bytes.Length, SocketFlags.None, new AsyncCallback(Unread_Chat_Receive_Callback), unread_obj);
            }
        }