首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebUSB是否支持超时?

WebUSB是否支持超时?
EN

Stack Overflow用户
提问于 2020-12-23 20:51:03
回答 1查看 85关注 0票数 0

Usb库始终支持在操作设备时设置超时。这是软件的重要功能,它可以与usb设备一起工作,因为这是你可以理解设备不响应你的命令的方式。我查看了一下WebUSB Api,发现它目前还不支持超时。

是真的吗?是否只能在每次usb操作前手动启动超时,并在操作成功后停止超时?

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 07:59:59

WebUSB目前不支持传输超时或中止传输,因为在调查了各种平台API之后,似乎不可能以一致的方式实现它们。理想情况下,可以通过将传输从USB控制器的传输计划中删除来取消传输。这在带有USBDEVFS_DISCARDURB ioctl的Linux上是可能的,并且在使用ReadPipeAsyncTO()和类似函数的macOS上支持超时。然而,在Windows上取消传输的唯一方法是调用WinUsb_AbortPipe(),它会影响管道上所有挂起的传输,而不仅仅是超时的传输。

如果您需要对未及时响应USB请求的设备做出反应,那么使用setTimeout()clearTimeout()手动执行此操作是最好的选择。请记住,USB传输本身将保持活动状态,并可能在以后完成。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65424624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档