at_socket.c 中的 at_recvfrom 似乎可以修改一下,用以检测socket是否被远程关闭
此处可以添加 socket状态检测,看是否为 socket关闭导致的
此接口返回值应该可以区分:接收成功,失败,socekt关闭
查看更多
是个不错的建议,期待你提交PR。
AT socket 在应用时是要根据模组响应数据进行判别进入那种状态。但是应该由上层模组的AT SOcKET的驱动进行判断,这样兼容更多模组接入。例如在M5311的实现里,如以下代码
static const struct at_urc urc_table[] ={ {"+IPSEND: ", "\r\n", urc_send_func}, {"+IPCLOSE: ", "\r\n", urc_close_func}, {"+IPRD: ", "\r\n", urc_recv_func},};
static const struct at_urc urc_table[] =
{
{"+IPSEND: ", "\r\n", urc_send_func},
{"+IPCLOSE: ", "\r\n", urc_close_func},
{"+IPRD: ", "\r\n", urc_recv_func},
};
使用URC数据进行判别,此时socket是否被关闭了,还是发送成功,并执行了对应的操作,这些状态跟模组指令表相关。所以还是要区分开,将状态判断放置于上层。
欢迎发表与嵌入式相关的技术分享、开发技巧、工具介绍、技术设想、职业心得、行业评论等对他人有启发,排版优雅的文章
回到 顶部
发布 问题
分享 好友
手机 浏览
投诉 建议
回到 底部