我希望能够将两个USB条形码扫描仪连接到一台计算机上,允许两个人同时扫描票证条形码。但是,如果两个人同时扫描,STDIN的输入将会变得混乱。是否有可能有多个STDIN流?
有没有一种方法来设置不同的STDIN流,每个STDIN流都绑定到特定的USB端口?控制台脚本在Ruby中,但任何语言的指针都会很感激。
我希望能够将两个USB条形码扫描仪连接到一台计算机上,允许两个人同时扫描票证条形码。但是,如果两个人同时扫描,STDIN的输入将会变得混乱。是否有可能有多个STDIN流?
有没有一种方法来设置不同的STDIN流,每个STDIN流都绑定到特定的USB端口?控制台脚本在Ruby中,但任何语言的指针都会很感激。
先尝试和测试连接2台USB条码扫描仪,如果你害怕会发生什么。我怀疑所有条形码数字都是在一个突发中发送的,而来自其他类似键盘的设备的中断处于暂停状态 - 因此您不会将两个条形码“交错”在一起。
不可能有一个以上的标准输入,而不是字面意思。其他选项将取决于您所在的操作系统 - 在Linux上,驱动程序可为您提供不同扫描仪的不同字符设备。在Windows上,我相信你将不得不学习谈论USB HID协议......如果你不必这样做,那么最好。
要直接回答你的问题,没有办法有多个STDIN。你最好是从文件中读取数据(我认为你应该有一个字符设备或这个扫描仪的东西)
如果你使用互斥锁来同步它们,所以只能处理一个扫描一次?
这里有一个教程在Ruby中
使用线程http://ruby-doc.org/docs/ProgrammingRuby/html/tut_threads.html
谢谢。这让我朝着正确的方向思考。 – 2011-01-21 00:26:41
什么限制你只使用STDIN作为你的输入? – 2011-01-18 21:34:23
我的其他选择是什么?那不是我必须听取USB数据流的地方吗? – 2011-01-19 15:51:45