基于workerman 的 消息推送
来源:互联网 发布:淘宝盖楼怎么玩 编辑:程序博客网 时间:2024/06/05 01:05
web-msg-sender是一款web长连接推送框架,采用PHPSocket.IO开发,基于WebSocket长连接通讯,如果浏览器不支持WebSocket则自动转用comet推送。
通过后台推送消息,消息可以即时推送到客户端,非轮询,实时性非常好,性能很高。
特点:
多浏览器支持
支持针对单个用户推送消息
支持向所有用户推送消息
长连接推送(websocket或者comet),消息即时到达
支持在线用户数实时统计展示
支持在线页面数实时统计展示
支持跨域推送
下载 (http://www.workerman.net/web-sender)
1、下载:选择版本并下载(linux版本、windows版本)web-msg-sender,并解压缩到任意目录
2、启动:linux系统cd到到框架目录里运行php start.php start -d。windows系统进入到框架目录里双击start_for_win.bat文件启动。
==========================================================================
遇到的问题:
ie 7 调试,报“不支持 JSON.stringify”
解决方案:
加载 json2.js
下载:https://github.com/douglascrockford/JSON-js/blob/master/json2.js
<link href="main.css" rel="stylesheet" type="text/css" /><!-- ie7 对象不支持“stringify”属性或方法 --><!--[if lt IE 8]><script type="text/javascript" src="/json2.js"></script><![endif]--><script src='//cdn.bootcss.com/socket.io/1.3.7/socket.io.js'></script><script src='//cdn.bootcss.com/jquery/1.11.3/jquery.js'></script><script src='/notify.js'></script>
========================================================================
实际项目:
前端页面:
<!-- websocket test --> <!-- ie7 对象不支持“stringify”属性或方法 --> <!--[if lt IE 8]> <script type="text/javascript" src="js/json2.js"></script> <![endif]--> <script src='js/socket.io.js'></script> <script src='js/notify.js'></script> <script> $(document).ready(function () { // 连接服务端 var socket = io('http://192.168.31.5:2120'); // // 后端推送来消息时 socket.on('new_msg', function(msg){ $('#new_price').html(msg); $('#tab_new_price').html(msg); }); }); </script> <!-- websocket test -->
后端调用api向任意用户推送:
$this->s_send($price);
private function s_send($price){ // 推送的url地址,上线时改成自己的服务器地址 $push_api_url = "http://192.168.31.5:2121/"; $post_data = array( "type" => "publish", "content" => $price, "to" => '', ); $ch = curl_init (); curl_setopt ( $ch, CURLOPT_URL, $push_api_url ); curl_setopt ( $ch, CURLOPT_POST, 1 ); curl_setopt ( $ch, CURLOPT_HEADER, 0 ); curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 ); curl_setopt ( $ch, CURLOPT_POSTFIELDS, $post_data ); curl_setopt ($ch, CURLOPT_HTTPHEADER, array("Expect:")); $return = curl_exec ( $ch ); curl_close ( $ch ); //var_export($return); }
- 基于workerman 的 消息推送
- thinkphp5结合workerman的消息推送实例_基于web-msg-sender进行消息推送
- workerman 实现消息推送
- workerman 实现消息推送
- 基于workerman的集群推送例子
- 【转 】workerman 实现消息推送
- 基于workerman的实时推送,摒弃ajax轮询
- 基于workerman的实时推送,摒弃ajax轮询
- 基于workerman的聊天室
- workerman推送
- 基于MQTT的消息推送
- WorkerMan的推送 添加到YII2
- Workerman之WEB消息推送框架使用笔记【一】
- 基于 Pushlets 的消息推送设计
- 基于java-flex-blazeds的消息推送
- 基于Pushlet实现的网站消息推送
- 基于AndroidPN的消息推送应用
- 基于webservice的邮件消息推送服务
- 自己编写Android Studio插件
- elasticsearch 查询(match和term)
- 丁磊:求快是创业者的思维误区,过于强调时间窗口也是一个伪命题
- iOS开发:面向协议编程与 Cocoa 的邂逅 (上)
- android用户和AID
- 基于workerman 的 消息推送
- Android开发艺术探索笔记(13)- DecorView
- 冒泡法。
- TS Intro - Elementary stream
- 使用Spring调用SOAP Web Service
- 关于servlet的监听
- javascript入门需要注意的地方
- Boost:解析命令行参数
- 计算机图形学(三)_图元的属性_16_ 反走样_6_直线亮度差的校正