我正在考虑为我的一个C#应用程序添加同步功能。目的是其中一个同步选项允许一个版本的应用程序通过USB电缆同步到另一个版本的应用程序。
该应用程序是跨平台的,现在使用Mono在Windows和Mac上实现,但最终也将移植到iOS和Android。
我想做的就是通过USB线发送和接收数据。
这听起来像是可行的吗?
答案 0 :(得分:0)
可行否?当然。这只是一个串行数据传输。您将不得不处理端口的打开和关闭以及数据的发送/接收,但它非常简单。
public void SendDataOverSerial(string data) {
try {
SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
port.Open();
port.Write(data);
}
finally {
port.Close();
}
}
显然,你需要管道另一端接收数据的东西,并做它应该做的任何事情。
答案 1 :(得分:0)
这是一个非常古老的问题,但我最近写了一篇博客文章,描述了如何实现这一目标。简单地使用像SharpUSBLib这样的东西是行不通的,因为你的iOS应用程序无法直接访问USB端口。
http://thecodewash.blogspot.com/2017/05/communicating-with-your-ios-app-over.html
回答你的问题(所以这个答案不仅仅是一个链接),是的,利用通常作为iTunes的一部分安装的USB Multiplexing Daemon(usbmuxd)程序,绝对可以实现这一点。此程序可以通过USB电缆创建与iOS设备的套接字连接,并允许您通过该套接字连接进行通信,就像使用任何其他套接字一样。该链接更加详细。
希望这有帮助!