创建WebSocket服务器

安装准备

安装swoole前必须保证系统已经安装了下列软件

php-5.3.10 或更高版本
gcc-4.4 或更高版本
make
autoconf

下载地址

  • https://github.com/swoole/swoole-src/releases
  • http://pecl.php.net/package/swoole
  • http://git.oschina.net/matyhtf/swoole

下载源代码包后,在终端进入源码目录,执行下面的命令进行编译和安装

cd swoole
phpize
./configure
make
sudo make install

或者:

PECL

swoole项目已收录到PHP官方扩展库,除了手工下载编译外,还可以通过PHP官方提供的pecl命令,一键下载安装swoole

pecl install swoole

配置php.ini

编译安装成功后,修改php.ini加入
extension=swoole.so
通过php -mphpinfo()来查看是否成功加载了swoole,如果没有可能是php.ini的路径不对,可以使用php -i |grep php.ini来定位到php.ini的绝对路径。、重启服务器  service nginx restart

创建WebSocket服务器

创建文件 ws_server.php
//创建websocket服务器对象,监听0.0.0.0:9502端口
$ws = new swoole_websocket_server("0.0.0.0", 9502);//监听WebSocket连接打开事件
$ws->on('open', function ($ws, $request) {var_dump($request->fd, $request->get, $request->server);$ws->push($request->fd, "hello, welcome\n");
});//监听WebSocket消息事件
$ws->on('message', function ($ws, $frame) {echo "Message: {$frame->data}\n";$ws->push($frame->fd, "server: {$frame->data}");
});//监听WebSocket连接关闭事件
$ws->on('close', function ($ws, $fd) {echo "client-{$fd} is closed\n";
});$ws->start();
WebSocket服务器是建立在Http服务器之上的长连接服务器,客户端首先会发送一个Http的请求与服务器进行握手。握手成功后会触发onOpen事件,表示连接已就绪,onOpen函数中可以得到$request对象,包含了Http握手的相关信息,如GET参数、Cookie、Http头信息等。建立连接后客户端与服务器端就可以双向通信了。
  • 客户端向服务器端发送信息时,服务器端触发onMessage事件回调
  • 服务器端可以调用$server->push()向某个客户端(使用$fd标识符)发送消息
  • 服务器端可以设置onHandShake事件回调来手工处理WebSocket握手

运行程序

php ws_server.php
再创建js文件 socket.phpJS代码为:
var wsServer = 'ws://127.0.0.1:9502';
var websocket = new WebSocket(wsServer);
websocket.onopen = function (evt) {console.log("Connected to WebSocket server.");
};websocket.onclose = function (evt) {console.log("Disconnected");
};websocket.onmessage = function (evt) {console.log('Retrieved data from server: ' + evt.data);
};websocket.onerror = function (evt, e) {console.log('Error occured: ' + evt.data);
};

运行程序

php ws_server.php
支持服务器后台运行,使用命令:  nohup php ws_server.php &
服务器访问js页面
注意端口号,并检查防火墙是否关闭。
然后就可以应用到微信小程序了。。。。。

微信小程序聊天客服工具相关推荐

  1. 许嵩音乐智能问答系统微信小程序之客服聊天室

    许嵩音乐智能问答系统微信小程序之客服聊天室 项目简介. 音乐播放器搭建. 获取数据及文本分类. 智能客服聊天界面. 连接前端微信小程序输入和后端python,并返回值 连接知识图谱 你还在为因为性格腼 ...

  2. 微信小程序在线客服系统都有哪些功能?

    微信小程序的用户已经破6亿,不少企业都看准了小程序这块大蛋糕.但是想要把握住小程序红利,除了做好运营推广外,用户服务也是重中之重.微信小程序自带的客服系统却很难满足用户服务的需求,于是很多小程序使用者 ...

  3. 关于微信小程序第三方客服接入调查

    微信小程序----第三方客服接入调查 简介:第三方客服相比微信小程序原生客服,通常来说,会有更强的只能辅助系统,更好的服务营销能力,适用于对服务质量.用户留存转化率以及访客价值挖掘有更高期待的企业. ...

  4. 微信小程序绑定客服,接收不到消息?

    微信小程序绑定客服,无法接收用户消息 客服文档 添加客服 <button class="serviceBtn" open-type="contact"&g ...

  5. 微信小程序接入客服功能

    微信小程序接入客服功能 1.提供客服入口 // 通过组件方式 <contact-button type="default-light" size="20" ...

  6. 【微信小程序】客服系统,客服聊天发送商品详情,快捷发送链接和图文消息,附代码和流程

    客服聊天发送商品详情,快捷发送链接和图文消息,附代码和流程 遇到一个新需求,需要做一个客服聊天的功能能够发送链接和图文消息,先在小程序后台做一个配置,首先在后台添加客服 然后客服按钮编写,功能实现 小 ...

  7. 微信小程序调用客服接口

    实现思路 由于小程序接口开发比较完善,所以我们直接调用微信小程序客服接口就可以.但必须阅读下面的接口文档 (1)客服功能使用指南 https://developers.weixin.qq.com/mi ...

  8. 微信小程序多客服系统相关实现方式

    ​为什么自己的小程序,不管咨询什么商品,都是同一个客服的会话框?而蘑菇街,拼多多等小程序,每个店铺却都有自己专门的客服呢? 下面教你一个 5 分钟就能实现的方法! 使用[客服聊天助手]小程序插件,直接 ...

  9. 微信小程序在线客服接入功能详解

    步骤一::小程序接入微信「客服消息」功能模块,开发者只需要调用按钮,触发微信的客服消息功能即可. 加入客服消息按钮有两个方法,大家可以根据自己的实际需求,任选一种方法. 1.插入固定的接入样式 < ...

最新文章

  1. 初识C语言---(2)
  2. 真全!GitHub上出现了一个353种语言资源的汇总
  3. Unity3D NGUI学习(一)血条
  4. Android Butterknife 8.4.0 使用方法总结
  5. ORACLE11G RAC增加节点操作
  6. mysql表结构设计_表结构设计
  7. windows下多tomcat部署
  8. 脚本输出当前 “yyyy-MM-dd WeakDay Festval”
  9. Python 线程条件变量 Condition - Python零基础入门教程
  10. java coroutine类_Coroutines和Rxjava异步编程对比
  11. 边缘计算崛起!施耐德联手华胜天成打造胶囊数据中心,真正端到端交付
  12. dbentry mysql_DbEntry.Net(Lephone Framework) Access ORM:安装和简单使用
  13. solr(六): 集群
  14. WIN7系统下如何把IE8升级成IE9
  15. SketchUp Pro 2019下载|SketchUp Pro 2019(草图大师)免安装绿色精简版下载
  16. el-select 设置为可手动输入
  17. Java 导入Excel数据
  18. 检查内存泄露的利器--VLD使用指南
  19. mybatis-日志工厂
  20. 蒲慕明院士:脑机融合技术或许会成为未来人工智能的一个热门方向

热门文章

  1. 在阿里云服务器发邮件
  2. Webdriver - webdriver hangs when get or click
  3. golang学习笔记(十六):多态的实现
  4. Word中表格相关的操作
  5. Linux命令之计算器bc
  6. 基于BES+DSP 的音频系统方案设计
  7. 定时器轮播图---(功能:自动轮播,左右箭头点击切换,点击圆点跳转图片)
  8. 计量经济学术语(转载)
  9. 龙芯1c300b开发语言,龙芯 1C0300B 主控芯片已成功进入激光打印机市场
  10. 跟着狂神学Docker(精髓篇)