使用USB编写C#synch应用程序

时间:2013-01-23 22:43:03

标签: c# usb communication transfer

我正在考虑为我的一个C#应用程序添加同步功能。目的是其中一个同步选项允许一个版本的应用程序通过USB电缆同步到另一个版本的应用程序。

该应用程序是跨平台的,现在使用Mono在Windows和Mac上实现,但最终也将移植到iOS和Android。

我想做的就是通过USB线发送和接收数据。

这听起来像是可行的吗?

2 个答案:

答案 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设备的套接字连接,并允许您通过该套接字连接进行通信,就像使用任何其他套接字一样。该链接更加详细。

希望这有帮助!