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