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

时间:2011-03-25 00:47:20

标签: javascript browser client-side payment-processing

对于这个神秘的标题感到抱歉,努力用一条线来总结我的问题......

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

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

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

那么,我的选择是什么?我可以使用客户端JavaScript来执行套接字通信,还是通过浏览器安全措施来阻止这种情况?从浏览器的角度来看,它将与“localhost”

上的特定编号端口进行通信

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

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

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

亲切的问候, 克雷格。

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

相关问题