我希望将两个USB条形码扫描仪连接到一台计算机,允许两个人同时扫描票据条形码。但是,如果两个人同时扫描,STDIN的输入将变得混乱。
有没有办法设置不同的STDIN流,每个流都绑定到一个特定的USB端口?控制台脚本是在Ruby中,尽管任何语言的指针都非常受欢迎。
答案 0 :(得分:3)
要直接回答您的问题,就无法拥有多个STDIN。你最好的选择是从文件中读取数据(我认为你应该有一个字符设备或者这个扫描仪的东西)
答案 1 :(得分:3)
首先尝试连接2个USB条形码扫描仪,然后测试您是否害怕。我怀疑所有条形码数字都是在一次爆发中发送的,而其他类似键盘的设备的中断处于保持状态 - 因此您不会将两个条形码“隔行扫描”在一起。
不可能有一个以上的标准输入,而不是字面意思。其他选项将取决于您所使用的操作系统 - 在Linux上可能驱动程序为不同的扫描仪提供不同的字符设备。在Windows上我相信你必须学习说USB HID协议......如果你不必做任何这样的话,那就最好了。
答案 2 :(得分:0)
如果您使用Mutex进行同步,以便一次只能处理一次扫描,该怎么办?
这是一个关于在Ruby中使用线程的教程
http://ruby-doc.org/docs/ProgrammingRuby/html/tut_threads.html