GatewayWorker与MVC框架结合,进行websoket通讯并将数据存到数据库是否只能Events.php中操作mysql类实现

0

初步接触,大致的看了文档,试着搭了简单的小demo,但是存在一些小问题:
 
背景:做一个类似共享单车的项目     单车与服务器进行soket通讯(无法发送ajax请求),   手机端APP与服务器进行长连接,根据官方推荐因为长连接的存在使用了GatewayWorker
 
1.单车只能服务器进行soket通讯,触发了Events.php中的onMessage事件,  但是因为GatewayWorker与MVC是独立部署互不干扰的,这时候我如果想使用MVC框架中已经定义好的一些方法处理数据化,并存储到数据库应该怎么做?
 
2.其实上个问题可以通过,在Events.php中封装一个post/get请求方法发送到MVC中处理来解决,但是不知道官方有没有对这个问题更好的解决方式
 
3.其实最初的时候在框架中集成的是wokerman,集成wokerman就规避了这个问题,但是因为有APP进行长连接的问题所以按照推荐使用了GatewayWorker,那么像这种即需要长连接又需要在MVC中监听soket发送数据的情况官方 推荐使用wokerman还是GatewayWorker呢?

已邀请:

walkor

赞同来自: wolegequ1993 chnyang

使用mvc框架来处理业务逻辑一般就是用到mvc框架的数据库等类库,可以尝试将这些类库用composer的方式集成进来(例如tp5的数据库类利用命令 composer require topthink/think-orm 集成)。
 
在Events中post/get去mvc处理也是很好的方法,类似将业务服务化了。如果是我的话我倾向于用Events中post/get去mvc处理的方法。

要回复问题请先登录注册