我需要创建一个 Cocoa 应用程序,它将创建一个可用于其他应用程序的虚拟串行端口,这意味着在 IO Kit Registry 中注册。
该应用程序的要点:
- 创建一个虚拟串口(在 /dev 中列出并在 IOKit Registry 中注册)
- 启动到另一台计算机的 tcp 连接
- 将虚拟串行端口上收到的所有内容代理到网络,反之亦然。
此应用程序将由与计算机上的串行端口通信的第三方应用程序使用,从而允许在网络上定位特定的串行设备。Cocoa 和网络部分没有问题,我已经编写了几个通过网络通信的应用程序。我的挂断是串口。
我已经使用 socat/netcat/minicom 进行了测试,以验证它是否可以通过网络代理 pty/tty 流量,但我使用的 tty 并没有显示为可供随机应用程序使用,因为它没有在 IO Kit 中注册注册表。
虽然我可以使用 pty/tty 主/从进行通信,但我需要这个从 tty 才能显示给 Mac 应用程序。非常方便的是在 IO Kit Registry 中注册 tty 的方法。
我真的需要创建一个在 Cocoa 应用程序运行时注册的自定义 IOKit kext 驱动程序吗?如果是这样,我前面有一个很大的学习曲线。我应该从哪里开始阅读?或者,我可以使用 IOKit 创建一个虚拟串行端口并将其注册为应用程序的可用串行端口,而无需加载任何内核扩展?
感谢您提供的任何帮助,
有状态的