我正在开始在软件中实现一些专有通信协议栈,但不确定从何处开始。这是我以前从未做过的工作,我正在寻求资源方面的帮助,以获得最佳/推荐的方法。C/C++中的实现通信协议
我将使用c/C++,而且我可以自由使用使用库(BSD/BOOST/Apache),但不支持GPL。我广泛使用了C++,因此使用C++的功能不成问题。
协议栈有三层,它已经完全指定并正式验证。所以我需要做的就是用指定的语言完全实现和测试它。还应该提及该协议非常简单,但可以通过可靠的物理传输层在不同设备上运行。我知道事件,输入,输出,副作用和协议状态机的行为。一般情况下,接收到一个中断来读取从物理层接收到的消息以读取并发送到等待设备。接收设备可以处理并传递响应消息到协议层,在物理层上发送出去。
任何帮助参考/建议将不胜感激。我愿意使用不同的语言,只是为了帮助我理解如何实现它们,但我将不得不采用所选择的语言。
更新:我希望实施的示例协议类似于SNEP。
我不需要担心连接管理。我们可以假设该连接已经建立和我的协议的作用是在协议消息早已在规范中定义的数据交换
这个问题太笼统了,开始设计和实施它,并就您发现的具体问题寻求帮助。 – peoro 2011-02-04 15:17:15
这是一个有趣的任务。在设计实现时,请记住,您要使用单元测试来测试每个图层独立性。要获得更具体的帮助,请尝试指定从哪里开始(摆脱与PIO连接的引脚??)以及您想获得什么样的帮助。 – harper 2011-02-04 15:23:33