微信小程序+服务器 利用Swoole的WebSocket实现简单的交互功能
1.服务端
2.文件内写入(切记:监听的端口号,一定要提前放行 我的是9501)
<?php//创建WebSocket Server对象,监听0.0.0.0:9501端口$ws = new Swoole\WebSocket\Server('0.0.0.0', 9501);//监听WebSocket连接打开事件$ws->on('Open', function ($ws, $request) {$ws->push($request->fd, "hello, welcome\n");});//监听WebSocket消息事件$ws->on('Message', function ($ws, $frame) {echo "Message: {$frame->data}\n";//“$frame->data”就是客户端发送的内容if ($frame->data=='人工客服') {//“$frame->fd”是客户端的ID,ID是服务端自动生成的,后方双引号内的内容为服务端返回给客户端的内容$ws->push($frame->fd, "客服下班了");}else{$ws->push($frame->fd, "哈哈哈");}});//监听WebSocket连接关闭事件$ws->on('Close', function ($ws, $fd) {echo "client-{$fd} is closed\n";});$ws->start();
?>
3.启动这个 php 文件
到文件的目录下运行 php server.php
这时他可能会报这个错误
这是9501端口被占用了 只需要用 netstat -tunlp 这个命令查看一下
我们使用 kill 1417546 杀死这个进程,之后在执行 php server.php 就好了
4.接下来,奉上小程序中的代码
首先在 onLoad 中写
onLoad: function (options) {//连接后台服务器wx.connectSocket({url: 'ws://yanlongfei.icu:9501'})//连接成功后的回调wx.onSocketOpen(function (res) {console.log('连接成功');})//监听 WebSocket 接受到服务器的消息事件wx.onSocketMessage(function (res) {console.log(res)})},
然后可以在页面写一个发送的按钮 用点击事件调一个发送的方法
<button bindtap="send">发送</button>
接下来就是这个方法的内容
你可以在前端写一个表单,向服务端发送活的内容,我这只为测试,所以将内容写死了
//页面按钮的点击事件send() {let msg = '人工客服';//向服务器发送内容wx.sendSocketMessage({data:msg})},
保存后 如果连接成功后就可以看到如下画面
当我点击发送按钮后 就可以看到 如下
这就表示,已经成功了!
在做所有操作之前一定要先完成这一步
微信小程序+服务器 利用Swoole的WebSocket实现简单的交互功能相关推荐
- 微信小程序+服务器 利用Swoole的TCP实现简单的交互功能
1.服务器 <?php//创建Server对象,监听 127.0.0.1:9501 端口$server = new Swoole\Server('0.0.0.0', 5901);//监听连接进入 ...
- 基于阿里云搭建微信小程序服务器(HTTPS)
https://www.jianshu.com/p/132eed84bc4f 本来是想写基于腾讯云搭建微信小程序服务器的,可惜腾讯云让我有点不好的体验,所以就先放弃使用腾讯云了.所以转而在阿里云上注册 ...
- centos ftp服务器搭建_CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...
宝塔面板(官网http://bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位 ...
- 微信小程序登录-利用Oenid实现白名单和黑名单
微信小程序登录-利用Oenid实现白名单和黑名单 1.通过获取openid 存储到数据库中 2.结合数据库中额用户资料实现白名单和黑名单.
- 服务器一般安装那种centos_CentOS系统云服务器宝塔面板安装以及微信小程序服务器搭建...
宝塔面板(官网http://bt.cn)是一款非常优秀的服务器管理工具,无论是系统功能还是用户界面都做的很完善很人性化,是使用Linux服务器的站长不可多得的一款工具,本文以CentOS6.5-64位 ...
- html img 手势缩放,微信小程序中利用image组件实现图片手势缩放
微信小程序中利用image组件实现图片手势缩放,前端大神严灏的牛文,讲解了微信小程序中image组件的三种是缩放模式,三种之中,只有 aspectFit 模式可以等比例缩放图片,并显示完整的图片. 原 ...
- 微信小程序:利用搜狗API实现听写单词小程序
微信小程序:利用搜狗API实现听写单词小程序 wxml <view><input bindconfirm="addword" confirm-type=" ...
- 服务器搭建快速入门——适用于Android应用服务器、微信小程序服务器(一)
目录 服务器搭建快速入门--适用于Android应用服务器.微信小程序服务器 适用人群 使用方案 准备工作 硬件方面 软件方面 开始搭建 服务器搭建快速入门--适用于Android应用服务器.微信小程 ...
- uniapp微信小程序服务器与行内img src图片路径拼接
uniapp微信小程序服务器与行内img src图片路径拼接 1.在main.js 在行内直接引入 运行就可以连接到服务器的图片了
最新文章
- 怎样才算世界一流大学
- opencv标定函数解说
- git仓库相关知识01-安装和基本命令
- Little Sub and Triangles
- 图表达相关书书籍调研
- CVPR 2020 论文大盘点—目标跟踪篇
- 【华为云技术分享】序列特征的处理方法之二:基于卷积神经网络方法
- Java并发(一)——线程安全的容器(上)
- 末学者笔记--Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署静态网站
- 局域网内抢带宽的工具 破解版 【PSP流量限制软件】
- 什么是主数据,如何做好主数据管理?
- 前言——前端转型之殇
- width:100%和width:auto的区别
- NPN PNP 接近开关
- Codeforces 524C Idempotent functions
- 【每日一题】 959. 由斜杠划分区域
- 三星Galaxy S9 Plus 国行曝光 跑分高达26.5W
- c语言_std=c11,关于带有std = c11 arg的c:GCC警告
- word中的公式,自动计算
- 调用worldlingo.com翻译服务,制作的一个多国语言翻译工具
热门文章
- Centos parted分区超过2TB硬盘-分区格式化
- 手机上如何传图识字?
- js 非输入框元素获取焦点
- google app 微信 facebook 签名不对(2021最新,关于Google Play app signing问题)
- 认证密钥协商(Authentication key agreement)的安全目标
- ICG-TCO,吲哚菁绿标记点击化学试剂,荧光标记反式环辛烯
- 安装和第一次使用Android Studio中的问题以及解决
- 按键精灵初步,使用winIO实现驱动级模拟按键
- 备忘录形成html乱码,【关于备忘录“乱码”现象】的解决方案~~~~~
- win8如何查看电脑配置呢?三种方法知道电脑详细配置