Results 59 comments of Bruce Liang

哇哈哈,也正是我的疑问,按照文档的说法根本不可能节省CPU。如果改成以下这样才有可能节省(但逻辑不一定正确,可以探讨): ``` while(10ms loop) { current = clock(); next = ikcp_check(current); // !!重点!! if(current == next) ikcp_update(current); } ```

> 有了 ikcp_check,interval 就不需要订到 10ms 那么小了,kcp 就变成 tickless 了,你用timer,将多个 kcp 对象的调度,均摊再 1 个 interval 里面,就是这个意思。 @skywind3000 还是有些疑问:首先需要确定是一个timer处理所有连接,还是每个连接有自己的timer? 1、如果是一个timer处理所有连接,势必会造成连接串行遍历,如果连接数较多(如1万个),加上每个连接send/recv/update等方法都需要同步,会不会造成更大的延时?另外,这种方式下interval值也不可能设置得太大。 2、如果每个连接有自己的timer,这时每个连接就自己管自己,不必遍历了。如:interval设置为1秒,以后根据ikcp_check的返回值确定下次update的时间。 3、还有一个问题:如果ikcp_check返回值为当前时间,是不是要继续循环调用check/update直到返回值大于当前时间为止? 现状是没有任何ikcp_check的示例代码,如果有示例给大家参考的话相信疑问会少很多。

双向发送,建议考虑一下HTTP2

最简单就是用websocket实现双向发送。

试试以下方法: 方法一:使用HPSocket动态库 方法二:排除 mimalloc或ssl重新编译HPSocket库文件 _**./compile.sh -m system -s false**_

> 去掉ssh和mimalloc后可以与libpq共存了. > 我得编译命令为: > ./compile.sh -m system -s false -d false -u false 去掉其中之一试试是哪个库造成的问题。

链接程序时试试把 hpsocket lib 放在最右边。

> 1>libucrt.lib(align.obj) : error LNK2005: _aligned_malloc 已经在 HPSocket.lib(mi_alloc.obj) 中定义 试试 5.8.4,应该解决了这个问题。