如何通过USB在两台PC之间进行通信?我想要一个程序通过USB端口将数字发送到其他程序将显示这些数字的另一台PC上。我觉得这是不可能的,因为PC的意图是作为主机而不是设备,但是USB真的是有限的吗?其实我讨厌USB不像一个只有输入缓冲器和输出缓冲器的COM端口。您轻松发送和接收。我查看了libusb,并且可以使用它,但是我找不到一种将一台PC作为设备的方法。这甚至有可能吗?PC到PC USB通信
回答
我找不到一种方法将一台PC作为设备。这甚至有可能吗?
不,这是不可能在PC上。 USB总是与主机 - >设备通信,并且PC始终是主机。 你可以买一个特殊的USB2USB电缆,它有一个在两端通讯的芯片。
但我只是使用LAN电缆。这些天来,我所知道的每台PC都配备了以太网。 TCP/IP不太难使用。
用于LAN和TCP/IP的+1。建立TCP/IP连接后,它与串口非常相似,并且只有一个输入缓冲区和一个输出缓冲区。 – 2012-02-16 20:07:24
那么,在这种情况下,我将不得不考虑使用以太网或特殊的USB电缆。谢谢。 – user1214513 2012-02-16 20:11:58
[启用USB RNDIS](https://support.criticallink.com/redmine/projects/arm9-platforms/wiki/Enabling_USB_RNDIS_Support)如何? _RNDIS支持允许PC通过USB与基于Linux的嵌入式系统对话,方法是使嵌入式系统看起来像一个USB连接的以太网适配器。我们可以作为ssh o网络服务器访问RNDIS。我的问题是否需要特殊电缆以及常规? – 2014-02-12 19:36:14
如果您非常喜欢串口,那么您应该为每台计算机获取USB-to-serial adapter,然后将它们连接在一起。这些设备在您的计算机上创建虚拟COM端口,您可以像使用普通COM端口一样使用它。
+1相比,LAN通常不是那么快,因为它是最简单,最棘手的方法之一。 – gbmhunter 2013-12-12 23:31:57
您需要有支持API或SDK的USB数据传输电缆(也称为USB数据链接电缆),然后使用以下代码。通信速度比通过USB或串口通过USB使用WinSock(TCP/IP)要快得多。 USB2.0通讯速率为480Mbps,有效数据通讯速率大于100Mbps,可以隔离病毒和网络攻击。
void CU2uDlg::OnOK()
{
BYTE buf[65530];
LPU2URET pU2uRet;
BOOL bRet;
int ret;
CString msgstr;
ret = u2u_open();
if (ret == -1){
AfxMessageBox("Open U2U device Success.");
}else{
msgstr.Format("Open U2U device fail,return:%d", ret);
AfxMessageBox(msgstr);
return;
}
//send data
bRet = u2u_SendData(buf, 65530, ret);
if(!bRet)
{
msgstr.Format("Send data error,return:%d", ret);
AfxMessageBox(msgstr);
return;
}
//receive data
while (1){
bRet = u2u_RecvData(recvData, dataLen, ret);
if(!bRet)
{
msgstr.Format("Receive data error,return:%d", ret);
AfxMessageBox(msgstr);
u2u_close();
return;
}else{
break;
}
}
u2u_close();
}
参见: Reference1,Reference2
- 1. PC到移动USB通信
- 2. WinCE和PC USB通信
- 3. iOS <-> PC USB通信
- 4. 通过USB与PC进行通信
- 5. 使用Java的PC到PC通信
- 6. Python:简单的PC到PC通信
- 7. Android usb和PC通讯
- 8. PC-Android,wifi通信
- 9. 通信PC电话
- 10. 与PC FPGA通信
- 11. Android USB to Java(PC)
- 12. 通过Android中的USB连接与PC进行通信
- 13. 8086使用TASM编程:pc到pc通信
- 14. Android手机与PC通信:手机找不到PC
- 15. Windows PC作为USB主机通过USB与Android设备进行通信
- 16. TinyOS PC与微波通信
- 17. 与PC的Netduino通信
- 18. Android APP通过USB控制PC ?????
- 19. 将PC循环到Android Socket通信?
- 20. iPad和Mac或PC之间的USB通信
- 21. Android(配件模式)和Windows PC(主机)之间的USB通信
- 22. 通过PC实现USB通信到android手机是不是个好主意?
- 23. Java:从通过USB连接到PC的手机中读取传入的短信(来自PC端)
- 24. Android to PC USB读写
- 25. 图片到PIc和PC USB如何?
- 26. 使用USB进行Android到PC传输
- 27. 如何通过Android向PC发送和检索消息(PC和Android设备如何使用USB进行通信)
- 28. 如何通过USB进行通讯(手机到PC)?
- 29. 为什么PC B无法与PC D通信?
- 30. 如何使用RF24通过USB在普通PC(Linux)上与nRF24L01 +进行通信?
有特殊的USB连接线就可以得到(搜索 “USB传输电缆”),允许PC到PC的通信。不知道它们是如何工作的 - 大概他们在机器之间有一些特殊的装置,使每个装置看起来像一个装置,而不是主机。 – Jason 2012-02-16 19:43:15
您可能讨厌USB不像串口,但对普通消费者来说,这是天赐之物,因为USB允许电脑自动检测您插入的设备类型,并在很多情况下自动安装驱动程序。不必再输入COM端口号到配置实用程序中。 – 2012-02-16 20:08:16