php怎么才能实现即时通讯?
4个回答
展开全部
如下:
php实现实时通信一般有两种方式:socket或comet。
socket是比较好的解决方案,问题在于不是所有的浏览器都兼容,服务器端实现起来也稍微有点麻烦。
comet(基于HTTP长连接的"服务器推")实现起来更加方便,而且兼容所有的浏览器。comet也有好几种实现方式,如iframe, http long request等。
js用定时器周期性向服务器发送请求,模拟实时刷新。这里分长轮询和短轮询。
区别是:长轮询在没有数据更新时,不会立刻返回结果而是在服务器端hold住,直到有数据更新再返回结果。
短轮询无论数据是否有更新,都立刻返回结果。
这种做法服务器开销较大,2websokect,html5的新特性,可以在前后端建立双向通信
缺点是部分浏览器不支持。b/s架构的系统其实实现即使通信是比较有难度的,因为很难实现服务器推送
目前主流是用js轮询实现,但只要能通过代码减小服务器开销,也能达到比较好的效果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-02-01 · 知道合伙人软件行家
关注
展开全部
1轮询
js用定时器周期性向服务器发送请求,模拟实时刷新
这里分长轮询和短轮询,区别是
长轮询在没有数据更新时,不会立刻返回结果而是在服务器端hold住,直到有数据更新再返回结果
短轮询无论数据是否有更新,都立刻返回结果
这种做法服务器开销较大
2websokect
html5的新特性,可以在前后端建立双向通信
缺点是部分浏览器不支持
b/s架构的系统其实实现即使通信是比较有难度的,因为很难实现服务器推送
目前主流是用js轮询实现,但只要能通过代码减小服务器开销,也能达到比较好的效果
js用定时器周期性向服务器发送请求,模拟实时刷新
这里分长轮询和短轮询,区别是
长轮询在没有数据更新时,不会立刻返回结果而是在服务器端hold住,直到有数据更新再返回结果
短轮询无论数据是否有更新,都立刻返回结果
这种做法服务器开销较大
2websokect
html5的新特性,可以在前后端建立双向通信
缺点是部分浏览器不支持
b/s架构的系统其实实现即使通信是比较有难度的,因为很难实现服务器推送
目前主流是用js轮询实现,但只要能通过代码减小服务器开销,也能达到比较好的效果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
php实现实时通信一般有两种方式:socket或comet。
socket是比较好的解决方案,问题在于不是所有的浏览器都兼容,服务器端实现起来也稍微有点麻烦。
comet(基于HTTP长连接的"服务器推")实现起来更加方便,而且兼容所有的浏览器。
comet也有好几种实现方式,如iframe, http long request等。
socket是比较好的解决方案,问题在于不是所有的浏览器都兼容,服务器端实现起来也稍微有点麻烦。
comet(基于HTTP长连接的"服务器推")实现起来更加方便,而且兼容所有的浏览器。
comet也有好几种实现方式,如iframe, http long request等。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询