宣言就是Siam

Results 20 comments of 宣言就是Siam

# Supplement ```go fmt.Println(ev) ``` can get the event.but why is `KeyHold`, not is `Keydown` {Kind: KeyHold, Rawcode: 112, Keychar: 65535} {Kind: KeyHold, Rawcode: 113, Keychar: 65535}

感谢回复。我是一名PHP程序员,所以IOS前端这一块不太懂,劳烦您费心了。 按照其他软件的模式,软件内置了N种小组件模板 可以供用户选择。(主要看官方对于小组件模板的审核麻烦程度怎么样) 另外关于数据,有两种模式,应该是按第一种才比较合理。 1. 在软件中配置API地址(直接读取用户服务器的数据) 需要提供开发文档说明数据 2. 用户推送给咱官网服务器,做一个数据缓存(不然的话就需要用户一直Push 才会实时更新数据),对咱官网服务器压力较大

@twose 以上脚本在开启event扩展后确实存在问题,希望可以科普一下 - 是否由于swow使用的是`libcat`事件库后与workerman使用的`event`事件库有冲突 - libcat 会提供PHP扩展么 这样子workerman可以做驱动适配

> 我找个时间深入试一下,但是为什么要使用其它的事件驱动(如event, uv, ev等)呢?因为Swow hook了PHP自带的select以后,workerman应该是可以直接用的,没理解这点。 在workerman中 `src/Events/Select.php` 有诸如以下的判断 ```php $count = \count($this->_readFds); if ($count >= 1024) { echo "Warning: system call select exceeded the maximum number of connections 1024, please...

> Swow就是基于libcat的扩展,只是没有开放事件相关的API(因为是协程风格的,设计理念上不需要引入事件API就能满足所有场景,协程 + 纯同步的API就可以达到异步的性能)。 理解了

主要问题可能还是要从扩展冲突的角度来考虑,在workerman代码中,`src/Worker.php:1295` 如果有安装event扩展 走的就是这个文件类`src/Events/Event.php`,使用的是Event扩展提供的相关函数,理论上swow扩展不应该会影响到其他扩展的行为才是正确吧

> Swow hook了相关API以后, select的背后其实已经变成了epoll,是没有限制的,不过workerman这么写了确实会造成问题。 这方面后续我会继续进行测试,按你说的已经hook了php的`stream_select`函数,目前有俩种解决方案 - @huangdijia 提出可用AOP处理掉这些函数的提示输出 - Workerman支持自定义处理驱动,复制Select文件重写驱动,去除相关函数的提示输出

> Swow hook了相关API以后, select的背后其实已经变成了epoll,是没有限制的, 经测试存在问题,开启Swow扩展后,stream_select函数没有如期运行 TCP工具创建3000个, 但在1000个左右就卡住不动了,建立不起来(workerman与如下单独php示例 都一样) ```php

@hhxsv5 Hello,请问关于切换 `SWOOLE_BASE` 模式是什么原因未推进~