我需要创建一个Cocoa应用程序,它将创建一个可用于其他应用程序的虚拟串行端口,这意味着在IO套件注册表中已注册。Mac - 虚拟串行端口
主旨的应用程式:
- 创建虚拟串行端口(/ dev中列出并与由于IOKit注册表中注册)
- 发起TCP连接到另一个计算机接收上
- 代理一切虚拟串口出到 网络,反之亦然。
这个应用程序将被第三方应用程序使用,与计算机上的串行端口进行通信,允许特定的串行设备位于网络中。可可和网络部分是没有问题的,我写了几个应用程序通过网络进行交谈。我的挂机是串口。
我已经使用socat/netcat/minicom完成了测试,以验证它是否可以通过网络代理pty/tty流量,但我使用的tty不会显示为随机应用程序可用,因为它没有注册在IO套件注册表中。
虽然我可以使用pty/tty主/从通讯进行通讯,但我需要这个slave tty显示Mac应用程序。在IO套件注册表中注册一个tty的方法非常方便。
我真的需要创建一个定制的IOKit kext驱动程序,它在Cocoa应用程序运行时注册吗?如果是这样,我有一个很大的学习曲线在我之前。我应该从哪里开始阅读?或者,我可以使用IOKit创建虚拟串行端口,并将其注册为应用程序的可用串行端口,而无需加载任何内核扩展?
感谢您的帮助,您可以提供,
有状态
好东西,pmjordan。我确实看了看你引用的应用程序,他们实际上是将编译的socat可执行文件捆绑到他们的应用程序中,然后将参数传递给它执行。并且,它使用的那些串行端口也未在IO套件注册表中注册。我买了你提到的那本书的一个副本,那里有大量的信息。感谢指针! – Stateful
@Stateful不客气,祝你好运! – pmdj
@Stateful你有没有继续这一点? – tcv