我来自固件背景,主要用普通程序 C 编写代码。
目前,我需要一个 Web 浏览器通过专用 TCP 套接字连接到某些硬件,并以自定义协议格式交换数据。我们选择走 Websockets 路线,因为这项技术适用于新手机、PC 和平板电脑。
我的问题是 Javascript 没有真正的 Sleep() 函数。通常我们会这样做:
- 发送一个消息。
- 在硬件处理消息时休眠。
- 获得响应并继续运行程序。
例如,我想将一些数据保存到硬件。
- 在协议中发送数据。
- 得到确认硬件保存数据的响应。
- 如果成功发送消息A,否则发送一些消息B。
问题是第 3 步无法完成,因为没有睡眠。我已阅读有关 setTimeoutfunction() 的信息,但这并不能解决我的问题。让回调事件处理每个接收到的数据包并跳转到不同的函数似乎很混乱。另外,如果我在一个while循环中有很多发送,这对于回调函数来说似乎是不可能的?
我知道我的方法可能是错误的,但有人可以向我解释如何调整我的推理来处理这种情况吗?
任何意见或建议将不胜感激。
谢谢,