1

抱歉标题晦涩难懂,很难用一行来总结我的问题...

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

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

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

那么,我有哪些选择?我可以使用客户端 JavaScript 来执行套接字通信还是被浏览器安全措施阻止?从浏览器的角度来看,它将与“localhost”上的特定编号端口进行通信

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

还是我坚持使用 VB 脚本和本地 COM 对象?

任何建议都将受到欢迎,如果您需要澄清我的问题的任何方面,请告诉我。

亲切的问候,克雷格。

4

2 回答 2

1

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

https://developer.mozilla.org/en/XPCOM_Interface_Reference/nsISocketProvider

于 2011-03-25T01:22:16.147 回答
1

我认为您不能使用 JavaScript 编写文本文件。而且您也不能在套接字上放置任意字节。我不完全理解你的情况。听起来您在服务器上使用了 Ruby,在客户端上运行了 JavaScript 和第三方 pinpad。并且您需要两个客户端实体能够相互交谈。您能否让浏览器与您的 Ruby 服务器进行通信(使用多种 Web 技术之一),然后让您的 Ruby 服务器将数据中继回 pinpad 套接字。还是pinpad只是一个本地插座?

于 2011-03-25T04:38:32.317 回答