jackeyt

Results 2 issues of jackeyt

### Which feature would you like to have? I had saw a [PR](https://github.com/armbian/build/pull/6256/files) for building a frameware package for mobile phone: Redmi K30 Pro,which has CPU [SG865],or called QCS8250. I...

目前Libhv中的mqtt client在使用过程存在三个问题: - 1、mqtt login没有超时机制,在mqtt_client_connect的时候,有设置一个hio_connect的超时定时器: ``` if (cli->connect_timeout > 0) { hio_set_connect_timeout(io, cli->connect_timeout); } ``` 但是login没有,假如在hio_connet成功之后,就会关闭connect超时定时器,但是万一此时tcp链路断了,Login不成功,是没有办法有时间限制login的时长,然后去断开重连再login的。 问一下博主,是推荐在Login函数内部去加定时器呢?还是在外部,启动login的时候,加个htimer去判断cli->connected值呢? - 2、没有发送失败重连机制:假如mqtt conn成功了,然后ping周期设得比较长,比如说1分钟,但是publish报文到server端的周期比较快,比如是几秒或10几秒种,但是此时mqtt是断开的(!connected,return -2),那么是会返回-2,这种情况也没有触发重连;或者第二种情况如果ping fail的次数还没有到三次,connected还是=1,但是此时tcp链路已经断了,发送时nwrite会返回长度,事实上并没有发送出去给server,这种情况也没有触发重连 - 3、mqtt client在连接服务器时,hio_connect会莫名奇妙的coredump,相同的代码运行几百次可能会出现一次,出错时的堆栈信息如下:(屏蔽了一些用户信息哈) ![0602003157](https://github.com/ithewei/libhv/assets/22190741/65df21e4-8df3-4a5c-ba70-57f0cada96a2)