首页
云工具
图书资料
书签
资源
留言本
博客笔记
笔记
PHP
JAVA
VUE
Python
Go
Linux
JavaScript
node.js
通信协议
执笔为剑,写天写地写华年
落棋为子,点兵点将点江山
当前位置:
首页
>
WorkMan
> workman 入门学习
workman 入门学习
夏立军
4年前
(2020-11-05)
WorkMan
625
> ## 手册 ### [手册地址](http://doc.workerman.net/) # 服务端 > ## 基本数据通信 ### 创建通信协议以及端口 ```php require_once __DIR__ . '/Workerman/Autoloader.php'; // 创建一个Worker监听39100端口,使用websocket协议通讯 $http_worker = new Worker("websocket://0.0.0.0:39100"); ``` #### 启动 1 个进程对外提供服务 ```php $http_worker->count = 1; ``` #### onWorkerStart workman 启动 ```php $http_worker->onWorkerStart = function ($http_worker){ // 这里可以编写一些基本的初始化操作,onWorkerStart 在程序启动时只执行一次 // 一般用来连接数据库,注册自动化事件,连接redis等操作 }; ``` ### onConnect 用户连接 ```php $http_worker->onConnect = function ($connection) { // onConnect 方法主要是前端连接时会触发一次,一般用来记录用户的关键信息 // 这里我一般用来做用户的信息初始化,将用户添加到队列中,或保存至数据库,方便下次读取 }; ``` ### onClose 用户断开连接 ```php $http_worker->onClose = function ($connection) { // 一般处理掉线的用户,或者处理一系列收尾的操作 }; ``` ### onMessage 接收到客户端发送的数据 ```php $http_worker->onMessage = function ($connection, $data) { // 向发来数据信息的用户回复 hello // 这里用来做业务处理 $connection->send('hello'); }; ``` ### runAll ```php // 启动 Worker,要写到 文件的最后 // 运行worker Worker::runAll(); ``` > ## 基本服务操作 ### 启动服务 以debug(调试)方式启动 `php start.php start` 以daemon(守护进程)方式启动 `php start.php start -d` ### 停止服务 `php start.php stop` ### 重启服务 `php start.php restart` ### 平滑重启 `php start.php reload` ### 查看状态 `php start.php status` ### 查看连接状态(需要Workerman版本>=3.5.0) `php start.php connections` # 客户端(web h5 页面 JS) ### 连接客户端 ```javascript // 与服务端的协议一致 // 这行可以触发 服务端的 onConnect ws = new WebSocket('ws://192.168.127.129:39100'); ``` ### 发送数据 ```javascript ws.onopen = function () { // 向服务端发送 test // 这里可以触发服务端的 onMessage ws.send('test'); } ``` ### 接收数据 ```javascript ws.onmessage = function (res) { // 接收从服务端返回的数据, // res 就是服务端返回的数据 console.log(res); } ``` ## 本次结束 > 主要是要理解 socket 的编程思路,这个不是特别的难理解,有问题可以留言讨论
打赏
微信扫一扫,打赏作者吧~
扫描二维码推送至手机访问。
版权声明:本文由
一段神奇的代码
发布,如需转载请注明出处。
分享给朋友:
微博
QQ
微信
豆瓣
QQ空间
领英
返回列表
没有更早的文章了...
没有最新的文章了...
相关文章
发表评论
取消回复
名称(*)
邮箱
网址
评论
◎欢迎参与讨论,请在这里发表您的看法和观点。
您好,
有事请留言!
评论
爱了爱了
哈哈公共
哈哈
博主666
请求
分类
权限系统
Idea
笔记
└
JavaScript
└
PHP
└
JAVA
└
VUE
└
Python
└
Go
└
Linux
└
node.js
└
通信协议
└
正则表达式
Opencv
消息队列
Nginx
uni-app
浏览器扩展
STM32开发板
Redis缓存
Go
Python
Git
JS
PHP
FastAdmin
Linux
其他问题
MySql
WorkMan
SQL
Html
我的世界
周边活动
Swoole
架构
Java
C#
单片机
设备调试
底盘