我有一台启用TCP / IP的条形码扫描仪,它充当TCP套接字服务器(每次扫描条形码时都会“推送”数据)。
我还具有一个由Tomcat Java Servlet(在Windows服务器上运行的Tomcat 7.0.27)提供服务的HTTPS Web应用程序。
我需要能够显示和处理来自HTTPS Web应用程序内的TCP套接字条形码扫描器的数据。我知道禁止直接从浏览器连接到TCP套接字。我也希望避免使用任何第三方的“插件”,例如Websockify或Socket.io。
我觉得应该可以通过Tomcat上的Java servlet做到这一点,但我不确定从哪里开始:
运行Servlet时,触发线程“监听”条形码扫描中的套接字数据。
收到条形码数据后,将其“推送”到浏览器。
朝正确方向的任何帮助或推动将不胜感激。谢谢!
最佳答案
Tomcat是侦听原始套接字的错误工具,当然也不是按您想象的方式推送和拉取的工具。
您需要编写一个套接字服务器来接收条形码数据。尽管可能有点过头,但是使用Mina或Netty可以使您快速编写多线程条形码服务器。
一旦条形码服务器运行,就将数据写入队列-您可以使用适当的队列(例如Rabbit MQ)或Reddis等。
然后,您可以使用Tomcat来满足用户请求。它可以读取从队列中读取的内容,并将数据返回给客户端。当新数据到达队列时,使用websocket将结果立即显示回客户端。