websocket的简单使用

Posted zhp_king

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了websocket的简单使用相关的知识,希望对你有一定的参考价值。

1.websocket的原理

具体可以参考这篇帖子 http://blog.csdn.net/hhwell/article/details/44625287

 

2.使用workerman中的websocket接口

workerman官网 http://www.workerman.net/

假设现在有一个需求,需要即时更新正在观看直播的人列表

(1)首先建立一个当前进程id和直播视频id的映射表,表中还有u_id(用户id)和u_name(用户名)字段

(2)到官网下载workerman,本人环境是window,所以就下载了个window版本的

在项目中引入这个文件就能使用了

(4)客户端建立websocket连接

onopen:当连接成功时触发

onmessage:服务端发送消息时触发

onclose:断开连接时触发

onerror:连接错误时触发

str是要传输给服务端的字符串

(5)服务端代码

 上面代码已加上注释,其过程就是当接收到了客户端发送的数据后,处理传输过来的字符串,然后把数据插入到映射表中,在返回数据给客户端的时候,先检查数据库中是否有在观看直播的记录,有的话获取该用户名,没有的话就直接返回当前用户(这里其实用缓存如redis处理等最好,但是为了方便说明这里就把数据存在数据库中),在断开连接的时候,根据进程id把映射表中的记录删除

 

(6)测试

php start.php start启动服务

 

打开浏览器,访问test.html

 

 

 

相关测试代码下载:git@github.com:zhpking/websocket.git

以上是关于websocket的简单使用的主要内容,如果未能解决你的问题,请参考以下文章

使用 NodeJS 的简单 WebSocket 应用程序

使用libwebsockets搭建一个简单的websocket服务器

使用libwebsockets搭建一个简单的websocket服务器

websocket的简单使用

WebSocket简单使用

WebSocket的简单入门使用