文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>SilverLight搭建WCF聊天室详细过程(十)接收离线消息

SilverLight搭建WCF聊天室详细过程(十)接收离线消息

时间:2010-12-26  来源:fugitiver

        上一节为大家介绍了如何组装消息,这一节主要为大家讲解离线消息的接收,考虑以下情景,如果某用户不在线,我现在想发消息给他,这就要用到离线消息收取,当这个用户登陆后自动提示有离线时接收到的消息,先看下流程图:

        流程图讲解:当用户发送离线消息后,服务端查找接受用户是否在在线用户列表里,如果存在则回调该客户端,如果不存在则把消息写入到数据库,当用户登陆时会首先查找是否有自己的未读消息,如果有则用回调函数rMessage()返回生成消息显示。

        主要代码:

 

代码 public void UnRead(string ReceiveUser)//未读消息
        {
            dp.commondText = "select SendUser,MessageContent,SendTime from Im_Message where ReceiveUser='" + ReceiveUser + "' and IfRead=False";
            DataTable dtUnRead = dp.queryDatatable();
            if (dtUnRead.Rows.Count > 0)
            {
                foreach (DataRow row in dtUnRead.Rows)
                {
                    if ((currentClient as IContextChannel).State == CommunicationState.Opened)
                    {
                        currentClient.rMessage(row["SendUser"].ToString(), row["MessageContent"].ToString(), row["SendTime"].ToString());
                    }
                }
                dp.commondText = "update Im_Message set IfRead='True' where ReceiveUser='" + ReceiveUser + "'";
                dp.queryNone();
            }
        }

 

        代码不用多少解释,主要是循环每一行然后返回给客户端,然后把读取后的消息设置为已读。方便以后做聊天记录查询!

        谢谢大家每次的意见,这次讲解占了大部分,希望对新手入门带来帮助,如果各位朋友觉得有所帮助,希望大家点下推荐,你们的支持才是我更新博客的动力,谢谢大家。

        本节代码以及数据库下载

相关阅读 更多 +
排行榜 更多 +
我的武侠梦手游下载

我的武侠梦手游下载

角色扮演 下载
快乐连连看下载免费版

快乐连连看下载免费版

休闲益智 下载
泛滥死者布道手机版下载

泛滥死者布道手机版下载

角色扮演 下载