workerman——消息推送(web-msg-send)
前言
说下场景,当后台将号码池的号码分配给指定客服的时候,需要给指定的客户推送一条消息告诉该客户,通讯录有新增数据。
步骤
下载
https://www.workerman.net/web-sender
进入workerman的官网下载消息推送的包,下载后解压整体移入现有框架,我移入到了vendor下,测试下能不能跑,可以跑再进行下面的改造!
调试按着网站上给的即可
https://www.workerman.net/web-sender

前端
引入相应的JS文件
//socket.io的js
<script src='https://cdn.bootcss.com/socket.io/2.0.3/socket.io.js'></script>
<script src='//cdn.bootcss.com/jquery/1.11.3/jquery.js'></script>
//消息提示条,在下载包里有
<script src='/notify.js'></script>
推送
推送给个人
http://(域名|IP):2121/?type=publish&to=<用户id>&content=<推送内容>
推送给所有人
http://(域名|IP):2121/?type=publish&content=<推送内容>
流程
1.引入js文件
2.连接服务器端
var socket = io('http://'+document.domain+':2120');
3.连接后台
socket.on('connect', function(){
socket.emit('login', uid);
});
4.接收后台推送消息并且使用notify推送到界面上
socket.on('new_msg', function(msg){
$('#content').html('收到消息:'+msg);
$('.notification.sticky').notify();
});
后端
因为是在绑定关系的时候去推送消息,所以只要在绑定关系成功后利用自己封装的请求方法去发出请求。
封装的请求方法
function https_request($url,$data)
{
// 初始化
$ch = curl_init();
// 设置
curl_setopt($ch, CURLOPT_URL, $url);
// 检查ssl证书
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// 从检查本地证书检查是否ssl加密
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, $url); if (!empty($data) ) {
curl_setopt($ch, CURLOPT_POST, 1);// 开启post
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);// 发送post $data }
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $res = curl_exec($ch);
curl_close($ch); // close curl res
return $res;
}
请求代码
这个网址肯定是要活的在后台配置,所以从配置文件中读取即可!
$url = config('url.fornt_end_url');
$info = [
'type'=>"publish",
'to'=>$newData['uid'],
'content'=>"您有一位新的客户{$newData['nickname']},请注意查看通讯录"
];
$re = https_request($url, $info);
效果图
因为前端是APP,现在代码还没看到,只能在后端界面上先测下

workerman——消息推送(web-msg-send)的更多相关文章
- Asp.net SignalR 实现服务端消息推送到Web端
之前的文章介绍过Asp.net SignalR, ASP .NET SignalR是一个ASP .NET 下的类库,可以在ASP .NET 的Web项目中实现实时通信. 今天我 ...
- java版Web Socket,实现消息推送
# web socket是什么? WebSocket协议是基于TCP的一种新的网络协议. 它实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端. ## 用途 实时 ...
- 实现web消息推送的技术和采用长轮询corundumstudio介绍
实时消息的推送,PC端的推送技术可以使用socket建立一个长连接来实现.传统的web服务都是客户端发出请求,服务端给出响应.但是现在直观的要求是允许特定时间内在没有客户端发起请求的情况下服务端主动推 ...
- WEB消息推送-原理篇
这篇文章主要讲述B/S架构中服务器“推送”消息给浏览器.内容涉及ajax论询(polling),comet(streaming,long polling).后面会附上源代码. 最近在工作有这么一个需求 ...
- SSE(Server-sent events)技术在web端消息推送和实时聊天中的使用
最近在公司闲着没事研究了几天,终于搞定了SSE从理论到实际应用,中间还是有一些坑的. 1.SSE简介 SSE(Server-sent events)翻译过来为:服务器发送事件.是基于http协议,和W ...
- web消息推送的各种解决办法
摘要 在各种BS架构的应用程序中,往往都希望服务端能够主动地向客户端推送各种消息,以达到类似于邮件.消息.待办事项等通知. 往BS架构本身存在的问题就是,服务器一直采用的是一问一答的机制.这就意味着如 ...
- 我有 7种 实现web实时消息推送的方案,7种!
技术交流,公众号:程序员小富 大家好,我是小富- 我有一个朋友- 做了一个小破站,现在要实现一个站内信web消息推送的功能,对,就是下图这个小红点,一个很常用的功能. 不过他还没想好用什么方式做,这里 ...
- web消息推送-goesay
原文:http://www.upwqy.com/details/22.html 1 GoEasy简介: GoEasy - Web实时消息推送服务专家 最简单的方式将消息从服务器端推送至客户端 最简单的 ...
- WEB消息推送-框架篇
WEB消息推送-comet4j 一.comet简介: comet :基于 HTTP长连接的“服务器推”技术,是一种新的 Web 应用架构.基于这种架构开发的应用中,服务器端会主动以异步的方式向客户端程 ...
随机推荐
- php HTTP协议
HTTP协议 超文本传输协议(HTTP,HyperText Transfer Protocol) 最常见B/s架构中,使用,浏览器端与服务器端数据交互协议. 协议:约定好的一套语法规则. 规定:请求数 ...
- TCP/IP学习笔记18--TCP--拥塞控制 (慢开始, 拥塞避免, 快重传和快恢复)
用最多的梦面对未来 -- 李嘉诚 在某段时间,若对网络资源的需求超过了该资源所能提供 ...
- 【转帖】AMD Zen之父、Intel副总Jim Keller到底有多牛?
AMD Zen之父.Intel副总Jim Keller到底有多牛? https://www.cnbeta.com/articles/tech/907295.htm 几乎玩过 所有的中国国产化CPU的祖 ...
- JavaWeb实现增删查改(图书信息管理)之删除功能实现
—————————————————————————————————————————————————————————— 删除按钮对应的servlet -->DeleteBooks.java ↓ ...
- linux net通信 基于密钥
配置SSHD服务 SSH(Secure Shell)是一种能够以安全的方式提供远程登录的协议,也是目前远程管理 Linux 系统的首选方式.在此之前,一般使用 FTP 或 Telnet 来进行远程登录 ...
- python实战项目 — selenium登陆豆瓣
利用selenium 模仿浏览器,登陆豆瓣 重点: 1. 要设置好 chromedriver配置与使用, chromedriver.exe 和 Chrome的浏览器版本要对应, http://chro ...
- JavaScript进行WebSocket字节流通讯示例
websocket进行通讯时,可以选择采用字符串或者字节流的传输模式.但在发送与接收时,需要考虑数据的分包,即分成一个个请求与响应消息.无论是采用哪种传输模式,都不免要遇到这个问题. 采用字符串传输时 ...
- gdb调试常用功能
一.gdb中宏定义 macro define list_entry(ptr, type, member) ((type)( (char)ptr - (unsigned long)(&((typ ...
- 4. Spark SQL数据源
4.1 通用加载/保存方法 4.1.1手动指定选项 Spark SQL的DataFrame接口支持多种数据源的操作.一个DataFrame可以进行RDDs方式的操作,也可以被注册为临时表.把DataF ...
- python模块之openpyxl
这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取Excel文件 需要导入相关函数. from open ...