我写了一个客观的POS,需要与许多以太网设备进行交互,如条形码扫描仪,燃油泵,现金抽屉等。我知道我可能不得不为每个设备用c ++编写驱动程序。问题是我不知道如何编写以太网设备驱动程序。有没有人可以帮助我?
顺便说一句,我还没有在Apple开发网站上看到任何以太网驱动程序的代码示例。
提前致谢!
答案 0 :(得分:1)
如果您使用的平台正在运行iOS或MacOS,那么它已经有一个以太网驱动程序和一个TCP/IP堆栈。您可能需要编写的是使用socket API与各种设备通信的模块/类。这些模块/类是在应用程序级别编写的,而不是OS设备驱动程序。
要在iOS / MacOS上使用套接字,您可以使用CFNetwork框架,也可以直接使用BSD sockets。关于套接字编程有很多文献和例子。 CFNetwork没有那么多的文章,但CFNetwork的优势在于更容易与应用程序的运行循环集成。
查看此answer,其中列出了用于学习套接字网络编程的资源。
第三种选择是使用Boost.Asio库,它是“用于网络和低级I / O编程的跨平台C ++库,使用现代C ++方法为开发人员提供一致的异步模型”。本文档page显示了有关如何使用asio的几个示例。您可以使用Objective-C ++(带* .mm文件)将Objective-C与C ++混合使用。