2011-03-25 9 views
1
一行に私の問題をまとめるのに苦労し、不可解なタイトルの

申し訳ありません...Webアプリのクライアント側のブラウザソケット通信 - 最適な方法ですか?

私はオンラインを展開したいが、チップ&ピン決済カードが装備されるリモート端末の一連のサービスを提供するウェブサイトを主催しました読者(別名ピンパッド)。ピンパッドは、第三者によって書かれた端末内のPC上のソフトウェアによって駆動される。このソフトウェアでサポートされている統合方法は、テキストファイルベースまたは「要求」および「応答」ワークフローに基づくソケットです。

私はこれまで、クライアント側のVBスクリプトを使用して、ローカルのサードパーティ製のソフトウェアとソケット接続を介して通信するクライアント側のCOMオブジェクトをインスタンス化するのに、これまで成功してきましたが、このアプローチはWindowsと結びついています。オプションが開きます。

私のWebサーバーはRuby On Railsベースであり、支払い端末で豊富な経験を提供するためにHTML5とCSS3を使用する予定であり、クライアントサイド通信にWebソケットを使用できるかどうか疑問に思っていますか?私が理解していることから、これは彼らのために設計されたものではないので、答えはノーだと思います。

私のオプションは何ですか?ソケット通信を実行するためにクライアント側のJavaScriptを使用できますか?これはブラウザのセキュリティ対策によって防止されていますか?ブラウザの観点からは、 "localhost"の特定の番号付きポートと通信しています

ソケット通信が不可能な場合、JavaScriptを使用してクライアントサイドのテキストファイルを作成して統合できますか?

私はVBスクリプトとローカルCOMオブジェクトを使用していますか?

ご迷惑をおかけして申し訳ございませんが、ご質問の内容を明確にする必要がある場合はお知らせください。

親切に、 Craig。

答えて

1

私はあなたではJavaScriptを使用してテキストファイルを書き込むことができるとは思いません。ソケットに任意のバイトを入れることはできません。私は完全にあなたのシナリオを理解していない。 RubyのサーバーとJavaScript、そしてこのサードパーティ製のピンパッドがクライアントで動作しているようです。お互いに話すことができるようにするには、2つのクライアントエンティティが必要です。ブラウザーにRubyサーバーと通信して(多くのWebテクノロジの1つを使用して)、Rubyサーバーにデータをピンパッドソケットに戻すようにしてもらえますか?または、ピンパッドはローカルソケットだけですか?

+0

こんにちは、はい私は、受信したコマンドを聞いているクライアントで動作しているサードパーティのソフトウェアを使って、クライアントマシン(POS端末)上で実行しているピンパッドで、ウェブサイト機能の大部分を提供するホストされたサーバー上でRuby On Railsを実行しています。クライアントはブラウザ(現在はIE8)を実行しており、現在VBScriptを使用してカスタムActiveX COMオブジェクトをインスタンス化し、ローカルソケット接続を介してピンパッドを制御しています。私はより良い解決策を探しています。これが明確になることを願っています。ありがとう! – craig1410

+0

ピンパッドのものがローカルホストだけを聞き取り、ローカルファイルを読むことができるのであれば、やっていることのような何かをしなければなりません。 ActiveX、Java、Flash、Silverlightのいずれかです。 ActiveXはInternet Explorerでしか動作しないため、ActiveXは最悪の選択ですが、本質的に非推奨です。 – Fantius

+0

ええ、私は既にそれをよく知っていたので、私はActiveXを使用しました。私はJavaプログラマですので、私はそれをオプションとして検討しています。上記のTravis Webbが提案するブラウザプラグインオプションも可能ですが、Javaは私の好みです。再度、感謝します。 – craig1410

1

javascriptを実行する標準のWebページで開くことができるソケットベースの接続の唯一の種類は、HTTPソケットです。 javascriptで書かれたブラウザプラグインを開発した場合、ソケットを使用する自由がさらに増えます。私が知っているFirefoxは、拡張機能のソケットをサポートしています。

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

+0

こんにちは、この提案をいただきありがとうございます - 私はより良い方法を見つけることができない場合は、これをよく見ています。プラットフォームとブラウザのオプションを開いたままにすることは可能な限り独自のソリューションを避けることを望んでいましたが、それは可能ではないかもしれません。再度、感謝します。 – craig1410

+1

私はあなたのためにそれを明確にします:設計上** **可能ではありません。ブラウザは、この種のソケット通信を許可しないように特別かつ意図的に設計されています。 –

+0

それをありがとう - 大声で明確に受け取りました! ;-) – craig1410

関連する問題