首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >嵌入式web服务器中的CRUD

嵌入式web服务器中的CRUD
EN

Stack Overflow用户
提问于 2012-10-19 09:43:42
回答 1查看 677关注 0票数 2

我正在嵌入式堆栈中实现一个webserver,它提供了一个没有REST特性的RESTful服务器。准确地说,嵌入式堆栈是运行在MQX操作系统之上的RTCS,微控制器是飞思卡尔公司的K60。我能够区分GET/POST/DELETE/PUT请求,并获得带有参数的url (例如/this/firstValue/that/secondValue/.)。

我使用strtok来分离url的不同元素并作出决定。但是我的代码很难看,因为它充满了strcmp函数和if语句。我还需要检查firstValue和secondValue的边界(我可以在set/get函数中这样做,但是每个参数的2个函数将是重复标题)。此外,我希望能够添加参数,而不影响决策树。

我有两个问题:

  • 你怎么把代码写得干干净净?
  • 您认为REST网络服务适合于通过网络控制我的微控制器吗?你有这样的例子吗?我之所以使用REST webservice,是因为它提供身份验证(但不保密,因为我还不能设置SSL套接字),我认为这是一种优雅的解决方案。

我评估了其他一些解决方案:

  • SNMP (snmpset/snmpget):它成功了,但是建立MIB是一个真正的痛苦,而且由于它是SNMPv2,所以仍然没有保密性。
  • telnet服务器(我还没有SSH解决方案):除了从外部控制REST之外没有任何优点/缺点,我正在用curl :测试它。
  • SOAP远程过程调用(我只是不喜欢它)
  • 还有别的主意吗?我需要一些简单和可伸缩的东西,因为可以控制多个目标。我的资源有限:在某个时候我需要保密,当CyaSSL (嵌入式ssl实现)移植到MQX时,我希望拥有它。他们说下个月就要发生了,所以保密不再是问题了,但是如果你有其他想法.

--

埃米利安

EN

回答 1

Stack Overflow用户

发布于 2012-10-19 10:23:49

REST是一种体系结构模式,所以我想您的意思是您的服务器提供HTTP。

资源是“任何可以命名的数据”。例如,嵌入式设备上的led可以是‘/ LED /led 3’的URI,您可以更改它持有的数据(它的状态,rgb主导的?)使用标准的PUT请求,并且GET应该返回其当前状态。

至于编码,如果内存允许使路径查找尽可能简单的话,一般的树结构可能是明智的。使用数据和函数指针(模拟对象)在leafs上

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12971531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档