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