默认

socket.io实现消息推送的一点实践及思路

查看数: 86512 | 评论数: 7 | 收藏 3
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2016-03-30 10:48

正文摘要:

前言 对于想要实现Web端的实时通讯,因为用户访问Web站点的过程是基于HTTP协议的,而HTTP协议的工作模式是:请求-响应,客户端发出访问请求,服务器端以资源数据响应请求。 也就是说,服务器端始终是被动的,即 ...

评论

黑马 发表于 6 年前
确实“黑”,太不讲究了
点点滴滴 发表于 8 年前
引用:JackJiang 发表于 2016-05-25 18:01
好吧,这东西什么来路,云IM?开源?不过这网站是真“黑”:

哈哈, 哥们儿好幽默,黑是黑,但是速度快啊!
点点滴滴 发表于 8 年前
想要建立实时web,推荐GoEasy的web实时推送,他们是专注做Web实时推送的, 网上一搜就有其用户自己总结的实例和感想,使用非常简单,都在说几分钟就可以实现推送了,哈哈。 我们项目也在用,推送很稳定!介绍给大家,避免走很多弯路。:-)官网:https://goeasy.io
另外,大家不要被他们的英文版本官网吓到哦,他们有提供中文API文档的哈。
在线demo: https://goeasy.io/www/examples.jsp
JackJiang 发表于 8 年前
引用:TonyWangx 发表于 2016-03-30 10:57
大侠, php如何根据cookie验证用户身份, 你说的API根据cookie验证用户身份是如何做到的,请点拨一下

原文楼主的回复如下:

cookie的产生是为了解决HTTP协议无状态的问题。可以识别用户、避免每次页面访问都需要用户登录。cookie是存在用户浏览器中的,对于同一个站点页面的请求浏览器都会自动在请求头中带上所有的cookie。与cookie配合使用的是服务器端的session,每个session有一个hash值id,session以key、value的形式存储,key就是session id,value就是应用程序往该session中存入的数据序列化后的值,比如其中包含用户id,另外通常session还会存储一个过期时间。

cookie和session的工作流程一般是这样:用户登录后,服务器端web程序开启一个session,将用户的相关信息存到session的value中,并将session id作为一个cookie项(该cookie具体的名字可以自定义)放到请求响应头set-cookie中发送给用户浏览器。之后对该站点的页面请求都会带上这个cookie,服务器端web程序尝试从cookie中读取session id,如果读到,则以该session id为key,读出session的value,反序列化后得到用户的信息,成功读取用户的信息就算用户身份验证通过了。

session的存储方法,php中默认是文件,文件名就是session id,web程序也可以配置session的存储方式为关系型数据库,NoSQL数据库等。

上述的过程,一些常用的web框架已经自动帮我们完成了。

php中cookie和session的操作方法见:
http://php.net/manual/zh/features.sessions.php
http://php.net/manual/zh/features.cookies.php
TonyWangx 发表于 8 年前
大侠, php如何根据cookie验证用户身份, 你说的API根据cookie验证用户身份是如何做到的,请点拨一下
JackJiang 发表于 8 年前
感谢 http://blog.xiayf.cn/ 博主的分享。

返回顶部