Javascript web应用的客户端浏览器套接字通信-最佳方法?

Javascript web应用的客户端浏览器套接字通信-最佳方法?,javascript,browser,client-side,payment-processing,Javascript,Browser,Client Side,Payment Processing,很抱歉标题晦涩难懂,很难用一行字概括我的问题 我希望部署一个在线托管网站,为一系列远程终端提供服务,这些终端将配备芯片和Pin支付卡读卡器(又名pinpad)。pinpad由第三方编写的终端内PC上的某些软件驱动。该软件支持的集成方法是基于文本文件或基于套接字的,带有“请求”和“响应”工作流 我过去曾成功地进行过类似的集成,使用客户端VB脚本实例化客户端COM对象,这些对象通过套接字连接与本地第三方软件进行通信,但这种方法将我与Windows联系在一起,我更愿意保留我的选项 我的web服务器将基

很抱歉标题晦涩难懂,很难用一行字概括我的问题

我希望部署一个在线托管网站,为一系列远程终端提供服务,这些终端将配备芯片和Pin支付卡读卡器(又名pinpad)。pinpad由第三方编写的终端内PC上的某些软件驱动。该软件支持的集成方法是基于文本文件或基于套接字的,带有“请求”和“响应”工作流

我过去曾成功地进行过类似的集成,使用客户端VB脚本实例化客户端COM对象,这些对象通过套接字连接与本地第三方软件进行通信,但这种方法将我与Windows联系在一起,我更愿意保留我的选项

我的web服务器将基于Ruby On Rails,我打算使用HTML5和CSS3在支付终端上提供丰富的体验,我想知道是否可以使用web套接字进行客户端通信?据我所知,这不是他们设计的目的,所以我认为答案是否定的

那么,我的选择是什么?我是否可以使用客户端JavaScript执行套接字通信,或者浏览器安全措施是否可以防止这种情况?从浏览器的角度来看,它将与“localhost”上的特定编号端口通信

如果无法使用套接字通信,我是否可以使用JavaScript创建客户端文本文件以进行集成

还是我一直在使用VB脚本和本地COM对象

任何建议都是非常欢迎的,如果您需要澄清我问题的任何方面,请告诉我

亲切问候,,
克雷格

在运行javascript的标准网页上,唯一允许打开的基于套接字的连接类型是HTTP套接字。如果开发一个用javascript编写的浏览器插件,您将有更多的自由使用套接字。我知道Firefox支持扩展中的套接字


我认为你不能用JavaScript编写文本文件。您也不能在套接字上放置任意字节。我不完全理解你的想法。听起来像是在服务器上安装了Ruby sunning,在客户端上运行JavaScript和第三方pinpad。您需要两个客户机实体能够相互对话。您可以让浏览器与您的Ruby服务器通信(使用多种web技术之一),然后让您的Ruby服务器将数据中继回pinpad套接字。或者pinpad只是一个本地套接字?

您好,是的,我在托管服务器上运行Ruby On Rails,提供大部分网站功能,pinpad在客户端机器(销售点终端)上运行,第三方软件在客户端上运行,监听传入的命令。客户端正在运行浏览器(当前为IE8),当前使用VBScript实例化自定义ActiveX COM对象,以通过本地套接字连接控制pinpad。我在寻找更好的解决办法。我希望这能澄清问题。谢谢如果pinpad只能侦听本地主机并读取本地文件,那么您必须执行与您正在执行的操作类似的操作。ActiveX、Java、Flash或Silverlight。ActiveX似乎是最糟糕的选择,因为它只在IE中工作,基本上已经被弃用了。是的,你说得对,我只使用ActiveX是因为我已经熟悉它了。我是一名Java程序员,所以我想我会把它作为一种选择。上面Travis Webb建议的浏览器插件选项也是一种可能性,但Java是我的首选。再次感谢。没错,但你不是跨浏览器。嗨,谢谢你的建议-如果我找不到更好的方法,我可能会研究一下。我希望尽可能避免任何专有解决方案,以保持平台和浏览器选项的开放性,但这可能是不可能的。再次感谢。我将为你澄清:出于设计,这是不可能的。浏览器被专门设计为不允许这种类型的套接字通信。