1

私は ac# 開発者で、キオスク アプリケーションを作成しています。私たちのキオスクには 2 つの画面があります。顧客用の 1 つの画面とオペレーター用の 1 つの画面。お客様はタッチパネルから個人情報を入力することができます。HTMLページで複数の画面をどのように処理するのだろうか。たとえば、顧客とオペレーター用に 1 つの HTML ページを作成します。また、Web ページには、名前とクレジット カード番号の 2 つのテキスト入力があります。顧客がスクリーン キーボードを使用して 1 文字書くと、オペレーターは各文字に対して同時に「x」を表示する必要があります。つまり、2 つの異なるブラウザー オブジェクトと 1 つの HTML ページです。これをノックアウト、アンギュラーなどで処理する必要がありますか? この問題は C# WPF mvvm パターンで処理しています。私は 2 つの異なるウィンドウ オブジェクトに対して 1 つのバインディング オブジェクトを使用しており、mvvm パターンは 2 つのサイド データ バインディングを処理します。

4

1 に答える 1

2

つまり、それは単一の質問の大きなトピックです。この 2 人のユーザー (「顧客」と「オペレーター」) は、同じページを要求する 2 つの異なる Web ブラウザーを持っていますよね? サーバー側は1つのバインディングですが、2つの異なるクライアントはお互いについて何も知りません(あなたが言わない限り)。

あなたを助けることができる技術はWebSocketsです。基本的に、ブラウザーとサーバー間の双方向接続を開きます。これにより、複数のブラウザーが (サーバーを介して) 相互に通信できるようになります。外にはすばらしいデモやケーススタディがあります。

WebSocket を扱うための非常に一般的なライブラリはsocket.ioです。AngularJS (チュートリアル) だけでなく、他のすべてでも使用できます。

ユースケースは次のように処理されます。

  • x入力フィールドの「顧客」タイプ
  • AngularJS 双方向バインディングはモデルを更新します
  • socket.io 接続が更新をサーバーに送信します
  • サーバーは、socket.io を介して、接続されているすべてのブラウザー (「オペレーター」) に更新を送信します。
  • 「オペレーター」のブラウザーの socket.io が通知されます
  • AngularJS モデルを更新します
  • 双方向バインディングはビューを更新します
  • x「オペレーター」の画面に表示される
于 2015-08-14T14:12:47.957 に答える