当前位置: 首页 > 知识库问答 >
问题:

freeRTOS里的MQTT的lwip_connect,lwip_select,lwip_recv进行连接,移到linux改成connect,select,recv遇到问题?

山森
2024-01-30

我现在在一家智能家居公司做网关方面的开发,最近开发MQTT遇到了问题,具体就是把freeRTOS里的MQTT代码逻辑移到Linux里,其中通信过程有问题,freeRTOS里的MQTT都是用lwip_connect,lwip_select,lwip_recv进行连接,移到linux改成connect,select,recv,需要增加while(ret=-1 && errno==EINTR)循环里进行连接,不然会报select:Interrupted system call错误,但是添加了这个最后手机app无法局域网或云端连上网关,感觉是哪里阻塞了,这个问题怎么解决啊

如何解决

共有1个答案

毛景曜
2024-01-30

建议使用mqtt库,而不是移植arm的代码,如paho多种平台、多语言中使用。

 类似资料:
  • 本文向大家介绍Python3连接Mysql8.0遇到的问题及处理步骤,包括了Python3连接Mysql8.0遇到的问题及处理步骤的使用技巧和注意事项,需要的朋友参考一下 最近在使用Python开发系统,需连接mysql数据库,我用的是Python3连接MySQL8.0,其中老是报错以下问题: 网上给了各种各样的方法,大多是通过各种方式修改密码。 最简单的方法是更换了root密码的认证方式解决的,

  • 使用 Hangfire.HttpJob 版本需 >= 3.0.2 1. 添加依赖 TimeZoneConverter 到您的项目中 2.在 Startup.cs 中配置 Hangfire.HttpJob 时指定时区参数 参考代码:https://github.com/yuzd/Hangfire.HttpJob/blob/master/Test/TestSqlserver/Startup.cs#L6

  • 我正在尝试使用Kafka Connect Elasticsearch连接器,但没有成功。它正在崩溃,并出现以下错误: 我已经在kafka子文件夹中解压了插件的编译版本,并在connect-standalone.properties中有以下代码行: 我可以看到该文件夹中的各种连接器,但Kafka Connect不加载它们;但它确实加载了标准连接器,如下所示: 如何正确注册连接器?

  • 我是Box2d的新手,遇到了问题,无法解决。当用户触摸我的左右按钮时,我想左右移动我的播放器。我创建了一个固定装置,我可以移动身体和固定装置,但不能移动玩家精灵。如何将玩家精灵连接到我的身体上?我该如何控制身体,因为我无法阻止它。我想找到一种控制box2d播放器的正确方法。我不能使用setLinerVelocity等。 这是我的密码 播放屏幕 显示方法 渲染方法 相机更新方法 createPlay

  • 我不太熟悉OpenLDAP,但我试图让一个本地实例工作,以便在开发中测试一个客户机,该客户机需要memberOf属性。 根据http://www.OpenLDAP.org/doc/admin24/guide.html#的说明,我已经在Centos7虚拟机上下载并安装了OpenLDAP,这是一个快速入门指南。我没有使用包管理来安装它。因为我使用的是2.4.45,所以它使用的是cn=config OL