- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我编写了一个 Objective-C POS,它需要与许多以太网设备(如条形码扫描仪、燃油泵、现金抽屉等)交互。我知道我可能必须为每个设备用 C++ 编写驱动程序。问题是我不知道如何编写以太网设备驱动程序。有没有人可以帮助我?
顺便说一句,我还没有在 Apple 开发站点上看到任何以太网驱动程序的代码示例。
提前致谢!
最佳答案
如果您使用的平台运行的是 iOS 或 MacOS,那么它已经有一个以太网驱动程序和一个 TCP/IP堆。您可能需要编写的是使用 socket 与各种设备通信的模块/类。应用程序接口(interface)。这些模块/类是在应用程序级别编写的,而不是操作系统设备驱动程序。
要在 iOS/MacOS 上使用套接字,您可以使用 CFNetwork框架,或更直接地使用 BSD sockets .有很多关于套接字编程的文献和例子。关于 CFNetwork 的文献不多,但 CFNetwork 的优势在于更容易与您的应用程序的运行循环集成。
看看这个 answer列出了学习套接字网络编程的资源。
第三种选择是使用 Boost.Asio库,它是“用于网络和低级 I/O 编程的跨平台 C++ 库,使用现代 C++ 方法为开发人员提供一致的异步模型”。本文档 page展示了几个关于如何使用 asio 的例子。您可以使用 Objective-C++(带有 *.mm 文件)将 Objective-C 与 C++ 混合使用。
关于c++ - 以太网 IOKit Cocoa 上的网络驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11729830/
所以一切都很好,然后我决定开始在 XCode 5 DP3 和 iOS7 上开发 在升级之前,我的项目在我的 iPhone 3GS 上编译并运行良好(我做了一个小软电话应用程序);然而,它没有在我的 i
我是 IOKit 的新手,并且注意到我认为是沙箱导致它失败。 这是我正在尝试的测试(在 Pascal 中),它在沙箱外运行良好,但当我启用它时,IOServiceOpen 每次都会返回错误 kIORe
我有 IOKit 基础驱动程序,它是非硬件触发的并且派生自 IOResources。它还使用 IOServiceOpen 向用户空间客户端类提供,但我认为这与我的问题无关......主驱动程序具有 I
我是一名开发人员,正在开发一个非常大的内存密集型 32 位应用程序。耗尽虚拟地址空间(内存)对我们来说是一个问题。在调查最近的一些问题时,我注意到有一大块内存被 IOKit (512MB) 保留。该内
如何使用 IOKit 获取 Mac 上的当前电源? 我想查看 Mac 是通过内置电池还是通过电源适配器运行。 最佳答案 IOPowerSources.h中的函数(具体来说,IOPSGetProvidi
我正在尝试掌握 IOKit,我觉得我已经很接近了,但还没有达到目标。所以请原谅我的困惑。 我已经成功编写了检测我的 USB 设备的代码(USB 电缆末端的一个简单按钮,有 Windows 驱动程序,但
我将尝试使用 IOKit 在 OS X 上为我的应用程序编写 USB 驱动程序。我选择了用户空间路线而不是开发 kext,因为它更容易调试等,但我在弄清楚如何测试驱动我的开发时遇到了困难。 如果可能,
我使用 IOKit API 检索 iOS 设备电池的原始数据。当我将我的 iPhone 更新到 iOS 10 测试版时,我发现它无法正常工作。只能显示电池电压,没有其他数据如maxCapacity、c
我正在使用:IOServiceGetMatchingServices kr = IOServiceGetMatchingServices(kIOMasterPortDefault, IOService
我正在使用 IOKit 框架通过用户空间客户端的 IOConnectCallMethod 和驱动程序端的 IOExternalMethodDispatch 与我的驱动程序通信。 到目前为止,我能够发送
我发现了几个出现相同问题的主题,但它们很老,而且大多数都没有明确的答案,或者答案仅适用于 iOS。还有一些消息来源说这是被禁止的,而其他人则不同意。 例如,here或 here about iOS .
我一直在尝试在添加或删除特定 USB 设备时收到通知。我已阅读“从应用程序访问硬件”文档,并有一个简单的演示应用程序,主要基于该文档中提供的代码。 第一次添加或删除设备时它会起作用,但此后我的回调永远
我目前正在 10.6.7 上开发一个应用程序,当插入新的 USB 设备时,该应用程序应该收到通知。我发现有一个 IOKit 函数可以处理“IOServiceAddMatchingNotificatio
我在使用 IOPowerSources 及其文档时遇到了非常困难的事情。 我的问题是,好吧,我无法弄清楚 IOPowerSources 的该死导入。我正在阅读: http://developer.ap
在编译基于 IOKit 的内核扩展时,c++ 编译器无法识别关键字 decltype。 int f = 123; int (*f_ptr)() = 0; f_ptr = (decltype(f_pt
我正在尝试了解 IOKit 以及它如何允许我访问 Swift 程序中的串行端口。 我现在正在操作的类如下: import Foundation import Cocoa import IOKit.se
我目前正在学习如何编写 os x 内核扩展(在 Xcode 中),如果我有任何错误,我深表歉意。我正在寻找一个示例,说明如何编写一个 IOKit 驱动程序,该驱动程序可以在系统中注册一个虚拟存储设备(
我编写了一个 Objective-C POS,它需要与许多以太网设备(如条形码扫描仪、燃油泵、现金抽屉等)交互。我知道我可能必须为每个设备用 C++ 编写驱动程序。问题是我不知道如何编写以太网设备驱动
我正在开发一个使用 IOKit 获取电池信息的调整,但它无法构建。 Undefined symbols for architecture armv7: "_IOPSCopyPowerSources
我正在为我的 Mac 应用程序使用沙盒。我需要像这样为 IOKit 设置一个属性, IORegistryEntrySetCFProperty(reg, CFSTR("IORequestIdle"),
我是一名优秀的程序员,十分优秀!