首页 > 编程知识 正文

综合实践看一看摆一摆,适合一年级的实践作业

时间:2023-05-03 05:08:53 阅读:249030 作者:2474

最近有一个主动向前端发送消息的需求,自然就想到了用 WebSocket 解决,但是没想到 TP6 + think-swoole 的资料这么少,连全面的官方文档也找不到,再加上 Swoole 的官方文档对初学者十分不友好,无奈之下自己摸索了好久,花费了两个半天时间,这里稍微记录一下。

安装

进入项目目录。

使用 composer 安装 think-swoole 扩展。即执行 composer require topthink/think-swoole(这里其实有个坑,默认安装的think-swoole 版本为3,但是如果你的项目是 TP5 或者 5.1,就需要指定安装 2.* 的版本了,即在原先的指令末尾加一个版本号composer require topthink/think-swoole 2.*)

修改配置。

安装成功后,config 目录下会多出一个 swoole.php 文件,只需要修改 server 内的 host 和 port 就可以运行了。其中 host 为监听的地址,一般为 127.0.0.1(仅监听本地访问)或 0.0.0.0(监听所有IP),也设置成仅局域网可访问之类的。port 即专门提供服务的端口,如果用的是云服务器或者用了宝塔,还需要去云服务器上添加安全组和在宝塔上添加放行端口。

启动 swoole 服务。php think swoole 或 php think swoole start

启动成功后,会有个提示,然后就可以正常访问了。比如你原先有一个接口的地址是 http://mu-mu.cn/socket-test/public/index.php/test,现在就可以通过 http://host:port/test 来访问了。

启动成功后,相当于另外开启了一个HTTP服务,所以原先所有的请求只要换个地址就能照旧使用了,如果配置中的websocket.enable属性是true,那么同时也为一个websocket服务器,能够处理ws协议的请求;如果你连地址都懒得换,也可以在Web服务器(Nginx、Apache等)中配置一下反向代理,简单的代码如下:

server{listen 80 ;server_name 域名;#代理配置location /{proxy_set_header X-Original-Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://127.0.0.1:9501/;}}

其他额外的设置

为了开发方便,可以开启热更新,即将 swoole.php 中的 hot_update.enable 设置为 true。不然的话每次修改代码,都需要 restart 才能生效,挺麻烦的。

其他设置像守护进程、wss什么的对开发的影响都不大,基本上可以开始写代码了。

好了,最简单的安装也被我啰啰嗦嗦说了这么多,后面就正式开始写代码和踩坑了。

Python Numpy常用函数总结

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。