ruby - 是否可以有多个 STDIN 流?

标签 ruby stream usb stdin barcode

我希望将两个 USB 条码扫描器连接到一台计算机上,让两个人同时扫描票条码。但是,如果两个人同时扫描,来自 STDIN 的输入就会变得困惑。

有没有办法设置不同的 STDIN 流,每个都绑定(bind)到特定的 USB 端口?控制台脚本是用 Ruby 编写的,尽管任何语言的指针都将不胜感激。

最佳答案

先尝试连接 2 个 USB 条码扫描仪,然后测试您担心的情况是否会发生。我怀疑所有条形码数字都是一次性发送的,而来自其他类似键盘的设备的中断处于暂停状态 - 因此您不会将两个条形码“交错”在一起。

不可能有多个标准输入,不是字面上的意思。其他选项将取决于您所使用的操作系统——在 Linux 上,驱动程序可能会为不同的扫描仪提供不同的字符设备。在 Windows 上,我相信您将必须学习使用 USB HID 协议(protocol)...如果您不必执行任何操作,则最好。

关于ruby - 是否可以有多个 STDIN 流?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4729276/

相关文章:

node.js - Node.js 流的错误处理

usb - 使用 Windows 原始访问 API 直接访问 USB 驱动器

ruby - Chef 的 deploy_revision/before_symlink 什么时候运行?

ruby - 如何通过元编程解决这个问题?

Java-Servlet : Streaming of a Quicktime-video causes a ClientAbortException

C++/QT : QTextStream program crashes

c++ - 如何确定正在使用哪个USB端口?

python - OpenCV 找不到网络摄像头,但 Cheese 可以

ruby-on-rails - ROR 应用程序中未定义的局部变量或方法

ruby - raise_error 上的 RSpec 失败