milo

Results 2 comments of milo

我以前也是看到这个at client的代码觉得太低效了,后来自己重新实现过, 不这样做的话,只能读取完一行再进行查找,但是如果URC一行很长,你需要一个非常大的接收行缓冲区,然后还要把这个拷贝到上层,空间占用大,每个字节都进行匹配可以小行缓冲区,匹配到之后,可以在回调中调用at_client_obj_recv将剩余数据读取到上层。也说不上好坏,只是选择不同而已,真正低效的是在读取行之后又重新进行urc匹配,如果本身上面就是urc匹配到的结果,再匹配一次没有任何意义,应该将at_recv_readline中匹配到的urc传出来,后面直接用,还有就是urc匹配里面每次都去算字符串长度属实是没必要。另外就是每个at_client都开一个线程,实际上多个at_client是可以用一个线程就解决的