我正在用C++编写一个控制台应用程序。到目前为止,我的代码可以检测我的设备(linux)是否已经通过TCPIP连接到另一个设备(通常是windows)。一旦我打开Windows上的Putty连接到运行控制台应用程序的设备,我的代码就会识别它并自动将数据从我的设备(Linux)发送到我的计算机。
我也想用USB做同样的事情。现在,我的控制台应用程序可以从我的Windows设备发送/接收数据,但前提是我首先发送数据。我希望我的控制台应用程序自动检测它是否已通过putty或其他应用程序连接,并自动开始向我的微处理器发送数据。我通过运行在USB设备连接和断开时显示的代码来阅读和播放libudev。我想知道我的设备(Linux)是否有办法知道它已经通过Putty连接到我的PC上,而不是热插拔事件。如果是这样的话,是否有一个我可以使用的例子。
使用套接字是个好主意吗?我可以使用带usb设备的套接字吗?
谢谢你的进阶。
完全公开,我是相对较新的Linux操作系统。
发布于 2018-11-12 19:33:16
嗯,你的建议有一些重大问题。一个普通的USB电缆是主从,这意味着一台机器是控制机器,另一台是从机。无论是Windows机器还是Ubuntu机器,都希望成为主机,将USB操作控制为USB-Master。没有什么现成的东西可以改变这种关系(但是许多嵌入式设计会改变主从关系)。
但是,您可以使用USB桥(或传输)电缆在两台计算机之间通过USB进行通信。我在亚马逊的“即插即用Windows传输电缆”上找到了这个。您应该能够使用它来编写双方的控制台应用程序,但是需要一些Windows和Linux驱动程序的经验。不是微不足道的。
我认为另一个想法,将是使用两个USB网络,并连接到彼此的以太网交叉电缆,并建立一个本地网络。您仍然可以使用您的网络功能在这两个设备之间进行通信,但是当USB端口被插入时,这是可以检测到的。
以太网交叉电缆和usb网络线缆是现成的,驱动程序很好地定义(显然)为Windows和Ubuntu。
https://askubuntu.com/questions/1092313
复制相似问题