Closed cexll closed 2 years ago
@cexll Framework这个文件夹是空的,跑不了
可以不用他
还没有仔细看 说一个可能的问题 Swow的运行模式类似于Golang,如果在主协程的末尾没有进行wait,主协程会退出并kill所有子协程,所以需要确认下你是否在主协程的末尾wait了,可以用Channel,或者Swow也提供了Sync\waitAll()
方法,当然更推荐用Channel,可以通过对Channel的操作来决定何时退出进程。
好 明天我在研究研究 并提供最小可运行代码
然后我用了swow/channel
https://github.com/cexll/mix-framework 这是framework的代码 实际上是不需要的在composer删掉就可以
这里使用了waitAll
明天我在确定一下 辛苦了大佬
demo已更新 主要运行文件在 bin/swow.php
处理逻辑在 src/Service/Session.php
...晕倒,你这个Session都没有start,都没有启动那个消费的协程,我改了一下是正常的
BTW,在启动文件里加一行\Swow\Debug\showExecutedSourceLines(true)
,就可以看到你程序的整个运行流程了
😲 可能后面改的时候改掉了
😲 可能后面改的时候改掉了
我在看一下 谢谢大佬
问题已解决 感谢大佬❤
Describe the bug / 问题描述
在向channel->push后使用pop取出数据程序疑似无响应 To Reproduce / 如何复现
ws收到信息后将message push到channel
然后在service取出数据走到pop后程序疑似无响应了 拿不到数据 也不执行之后的代码 同时其他无异常例如 http 继续发送信息无异常
Expected behavior / 正确的行为
正确取出pop数据发送给ws客户端
Outputs / 程序输出
Runtime Environment / 运行环境
OS:
PHP:
Swow: <!-- php --ri swow -->
Additional context / 补充说明