b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

极光推送 php服务器端 服务器推送技术|服务器推送技术解析(2)

电脑杂谈  发布时间:2018-02-19 17:38:00  来源:网络整理

主要思想:服务器端将数据推送到客户端(浏览器)

本人做了简单的web实时聊天系统:服务器推送(聊天).zip

系统简单说明如下:

{

系统所用:sqlite

UserInfo:用户信息表

UserRelation:用户关系表

MessageInfo:聊天信息表

开发结构:

三层开发:

数据层--与sqlite之间的交互

逻辑层--数据转换

实体层--数据对象

Web服务:利用WebService对外提供公共的接口,主要提供客户端与服务器端数据之间的交互。

客户端(asp.net):利用comet中ajax反向技术推送聊天信息。

项目操作演示效果:

1.用户登录(测试账户{liger_zql,12345},{漠然,12345})

说明:用浏览器开启两个选项卡浏览Login.aspx页面分别如下

2.聊天界面

登录成功后,两选项卡分别跳转到如下界面:双击好友中的行,则可开始进行聊天。

liger_zql聊天界面:

漠然聊天界面:

其中聊天过程是使用了comet推送技术。

3.用户注册界面

}

项目中comet推送技术

客户端

//ajax长轮询
function PostSubmit(params, success) { $.post("comet_broadcast.asyn", params, success, "json");}function Keepline() { var array = new PHPArray("Keepline"); var success = function (data, status) { if (data.ResponseStatus == 1) { ShowMessage(data.ResponseData, "recive"); } Keepline(); } PostSubmit(array.ToJson(), success);}

服务器端:

#region 发送消息 private void SendMsg() { MessageInfo message = new MessageInfo() { SendUserId = m_Context.Request["UserId"], ReciveUserId = m_Context.Request["ReciveUserId"], Content = m_Context.Request["Content"] }; //获取服务器端处理结果 string result = sdk.Send_Msg(message); if (dict.ContainsKey(message.ReciveUserId)) { //向对发送信息 dict[message.ReciveUserId].Result = result; dict[message.ReciveUserId].Send(); } //向自己发送处理结果 _IAsyncResult.Result = result; _IAsyncResult.Send(); } #endregion

其中(项目网站--WebChat_ServerPush和服务器端处理--ServerPushHttpHandler)需要在Web.config配置文件中做出如下配置:

<httpHandlers> <!--comet长连接配置字节--> <add verb="*" path="comet_broadcast.asyn" type="ServerPushHttpHandler.ServerPush,ServerPushHttpHandler"/> </httpHandlers>


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-85315-2.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    每日福利
    热点图片
    拼命载入中...