《Thinkphp5使用Socket服务》 入门篇

今天来说一下thinkphp5.0下使用wokerman的socket服务。
安装:
composer的安装方法,Windows下直接下个composer的应用程序,双击安装,环境变量同时给配置好了,Linux端命令安装,如我使用的Ubuntu,键入 sudo apt-get install composer -y 。
切换镜像:
composer切换到国内镜像,安装扩展可以提升一些速度。执行命令 composer config -g repo.packagist composer https://packagist.phpcomposer.com
更新:
进入到thinkphp项目的根目录下,执行 composer update 命令
下载:
接下来安装workerman ,执行 composer require topthink/think-worker 。

报错,根据报错信息,可以看出,framework版本不符合要求,导致安装失败。

如图可以看到,think-worker默认安装 2.0版本,而它需要5.1版本的framework,thinkphp5.0版本不被支持。

dev-master 版本,对framework没有要求,所以执行 composer require topthink/think-worker dev-master 安装即可。
如果要在win下做服务,继续执行 composer require workerman/workerman-for-win
绑定:
在根目录创建Worker.php作为启动服务文件,内容如下。

再创建push模块Worker控制器作为服务处理类

开启服务:
返回到项目根目录,执行命令 php Worker.php start -d 开启服务
注:这一步可能会报错

打开服务处理类文件,把ip地址换成0.0.0.0,然后重新执行php命令

测试:
打开Chrome 浏览器,在console里键入


大功告成。
本文只是初步连接websocket,至于投入项目使用,之后在写。
如果有帮到你,非常荣幸,请帮我点赞,谢谢。
《Thinkphp5使用Socket服务》 入门篇的更多相关文章
- socket.io 入门篇(一)
本文原文地址:https://www.limitcode.com/detail/591b114bb1d4fe074099d9c9.html 前言 本篇介绍使用node.js模块组件socket.io实 ...
- socket.io 入门篇(三)
本文原文地址:https://www.limitcode.com/detail/5926e3a056fba70278bf2044.html 前言 上篇我们介绍了 socket.io 中room的概念和 ...
- socket.io 入门篇(二)
本文原文地址:https://www.limitcode.com/detail/5922f1ccb1d4fe074099d9cd.html 前言 上篇我们介绍了 socket.io 基本使用方法,本篇 ...
- dubbo注册服务和消费服务---入门篇
本文介绍如何用dubbo+zk来实现一个注册服务 + 消费服务的入门小demo 需要环境:zk服务器 两个maven项目,一个负责提供服务,一个负责消费服务. dubbo-service 服务端 po ...
- 服务端技术进阶(八)GitHub入门篇
服务端技术进阶(八)GitHub入门篇 前言 在投递简历的过程中,发现有的公司会要求填写自己的GitHub地址,而自己却还没有GitHub帐号,准确点说是自己还不太会使用GitHub.(貌似开源社区中 ...
- Spring boot学习1 构建微服务:Spring boot 入门篇
Spring boot学习1 构建微服务:Spring boot 入门篇 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框 ...
- Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇
Httpd服务入门知识-http协议版本,工作机制及http服务器应用扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Internet与中国 Internet最早来源于美 ...
- netty深入学习之一: 入门篇
netty深入学习之一: 入门篇 本文代码下载: http://download.csdn.net/detail/cheungmine/8497549 1)Netty是什么 Netty是Java NI ...
- 基于APNs最新HTTP/2接口实现iOS的高性能消息推送(服务端篇)
1.前言 本文要分享的消息推送指的是当iOS端APP被关闭或者处于后台时,还能收到消息/信息/指令的能力. 这种在APP处于后台或关闭情况下的消息推送能力,通常在以下场景下非常有用: 1)IM即时通讯 ...
随机推荐
- python 常见问题
C:\Users\user\AppData\Local\Programs\Python\Python36\Scripts\ C:\Users\user\AppData\Local\Programs\P ...
- eclipse maven 导出项目依赖的jar包
转自:https://blog.csdn.net/andyliulin/article/details/46544555 一.导出到默认目录 targed/dependency 从Maven项目中导出 ...
- WIN10平板 如何设置不允许切换竖屏
点击右下角的通知,然后点击旋转锁定,即可禁止自动竖屏切换
- from String value ('{}'); no single-String constructor/factory
需要为类增加一个接受String的构造函数: 例如: public class B { private String name; public B(String b) { } public Strin ...
- EF迁移命令
EF迁移设置的最后一步是在包管理器控制台中输入命令“add-migration InitialMigration -IgnoreChanges”.“InitialMigration”(高亮的黄色)是您 ...
- JSTL标签 使用总结,foreach
最近开发一个网站,经常使用JSTL,这种语法与以前的不同,开始用着非常吃力,今天总结一下,供大家参考. 一.前言 JSTL全名为JavaServer Pages Standard Tag Librar ...
- 让WebService支持Get请求
在C#中,新建一个webservice,默认是post类型的.如果需要支持Get请求,需要对web.config文件进行配置 <system.web> <compilation de ...
- javascript中的数据结构
Javascript中的关键字 abstract continue finally instanceof private this boolean ...
- 12C -- ORA-28040
新安装的12.2数据库,尝试连接数据库的时候,报ora-28040错误: 这是由于12C数据库默认参数(默认支持的客户端版本)设置的原因. 在12C中,SQLNET.ALLOWED_LOGON_VER ...
- linux每日命令(25):Linux文件类型与扩展名
Linux文件类型和Linux文件的文件名所代表的意义是两个不同的概念.我们通过一般应用程序而创建的比如file.txt.file.tar.gz ,这些文件虽然要用不同的程序来打开,但放在Linux文 ...