1

我编写了一个objective-c POS,它需要与许多以太网设备(如条形码扫描仪、燃油泵、现金抽屉等)进行交互。我知道我可能必须为每个设备用c++ 编写驱动程序。问题是我不知道如何编写以太网设备驱动程序。有没有人可以帮助我?

顺便说一句,我在 Apple 开发网站上没有看到任何以太网驱动程序的代码示例。

提前致谢!

4

1 回答 1

1

如果您使用的平台正在运行 iOS 或 MacOS,那么它已经有一个以太网驱动程序和一个TCP/IP堆栈。您可能需要编写的是使用套接字API 与各种设备通信的模块/类。这些模块/类是在应用程序级别编写的,而不是 OS 设备驱动程序。

要在 iOS/MacOS 上使用套接字,您可以使用CFNetwork框架,或者更直接地使用BSD 套接字。有很多关于套接字编程的文献和例子。CFNetwork 上的文献不多,但 CFNetwork 的优势在于更容易与您的应用程序的运行循环集成。

查看这个答案,其中列出了学习套接字网络编程的资源。


第三种选择是使用Boost.Asio库,它是“用于网络和低级 I/O 编程的跨平台 C++ 库,它使用现代 C++ 方法为开发人员提供一致的异步模型”。此文档页面显示了几个有关如何使用 asio 的示例。您可以使用 Objective-C++(带有 *.mm 文件)将 Objective-C 与 C++ 混合。

于 2012-07-30T21:53:28.137 回答