USB通讯

ningto.com 2011-09-30 11:49:21
电脑A和电脑B它们之间用USB线连接起来,
怎样让A与B中的两个程序进行通讯,相当于socket的客户端与服务器端之间的通讯。
简单来说就是怎样写程序将A中的文件,传输到B中?用C++实现,
大家给下思路, 哪里有这方面的知识, 介绍书或者这方面的资料, 通讯方面我完全是新手,急啊。。。
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningto.com 2011-10-09
  • 打赏
  • 举报
回复
代码如下:

HANDLE hUsbFile = CreateFile(pBuffer->DevicePath,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
0/*FILE_ATTRIBUTE_NORMAL*/,
NULL);

if (hUsbFile == INVALID_HANDLE_VALUE)
{
// 这里没问题
MessageBox("CreateFile error");
SetupDiDestroyDeviceInfoList(hdevClassInfo);
return;
}

CString strError;
char szBuffer[1024] = {0};
strcpy(szBuffer, "Write data to Usb device!");
DWORD dwWrittenSize = 0;
int nWriteRet = WriteFile(hUsbFile, szBuffer, 1024, &dwWrittenSize, NULL);
if (!nWriteRet)
{
// 这里报错, 错误值是87(参数错误)
strError.Format("WriteFile error = %d", GetLastError());
MessageBox(strError);
}
ningto.com 2011-10-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jennyvenus 的回复:]

什么设备啊,DevicePath取的对不对啊。
[/Quote]
U盘可以吗, DevicePath值为\\?\usb#vid_0781&pid_5567#200443219307b7b0d41c#{a5dcbf10-6530-11d2-901f-00c04fb951ed}
用户 昵称 2011-10-09
  • 打赏
  • 举报
回复
什么设备啊,DevicePath取的对不对啊。
ningto.com 2011-10-09
  • 打赏
  • 举报
回复
现在获取了USB设备的DevicePath, 并且通过CreateFile打开设备获取了HANDLE,
那么怎样进行通信啊, 网上说ReadFile, WriteFile, 我试了一下没成功,请问下具体怎么用啊???
_三皮_ 2011-09-30
  • 打赏
  • 举报
回复
看有没有相关的硬件转发器支持
用户 昵称 2011-09-30
  • 打赏
  • 举报
回复
两个host主机转接起来,在usb规范中是不允许的,所以有一种桥接的设备,因为网络的普遍应用,所以这种usb主机桥几乎没有市场,所以价格奇高,尽量不要采用这种方案。

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧