QA@IT

WEB画面とクライアントアプリケーションとの会話について

3786 PV

お世話になります。

下記の要件を満足する手法、技術があるかどうか、教えて下さい。

・動作環境等
 WINDOWS7のIE上で動作するWEBアプリケーション。.NET FrameWorkは4.5

・要件
 クライアント側に、USBポート経由で制御を行う機器が接続されている。
 WEB画面のあるボタンを押した後、USBポート経由でデータを機器へ受け渡して
 機器側で何らかの処理を行った結果のデータをWEB画面に表示したい。
 また、機器側で発生したイベントにて、WEB画面を更新したい。

 但し、activeXは使用禁止。

無理だと思うんですが、なんかいい方法ありますかね?
ClickOnceでダウンロード、実行までは出来るとして、別セションで動作しているWEB画面に
割込みを掛ける事が出来ないし…と思ってます。

どなたか助けて下さい。

回答

最近だとそういうのはWebSocketを使うのかなと思います。

Leap Motionでそんなような事できますね(ブラウザからWebSocketで(WebSocketサーバーから)USB機器の情報取得)
HTMLエディタで上書き保存するとプレビュー表示しているブラウザがリロードしたり(Sublime Text 2でWebSocketでそれを実現してるプラグインがありました)

C# での具体的なコードがなくて申し訳ないですが、私ならその線で検討してみるかなぁというものです。

編集 履歴 (0)
  • flied_onion様
    ご回答有難うございます。

    流行のHTML5でしょうか。
    調べてみます。有難うございます。
    -
  • ちなみにUSBから値をとるためにClickOnce(でのDL/実行)は使える前提で書いています(WebSocketサーバーもそこでC#で動かす)。SilverLight4以降でもブラウザからインストール/実行とかできるみたいですけど試したことないので。 http://codezine.jp/article/detail/5336 -

ローカルのアプリケーションを常駐させるぐらいしか思いつかないですね。

1.WEB画面のボタンを押した際に、DBにデータ登録。
2.ローカルアプリが一定のタイミングで、DBを監視しデータを機器へ受け渡す。
3.機器で処理を行った後、ローカルアプリがDBに書き込む。
4.WEB画面もAjax等でDBをポーリングしておき、変更があれば画面へ反映させる。

編集 履歴 (0)
  • mm様
    ご回答有難うございます。

    やっぱりベタな(失礼)やり方になりますよね。

    WEBシステムだから稟議通したのに、なんでクライアントに
    プログラムを入れるんだ…資源配付が…とか、色々騒ぎが起きそうです。
    -
ウォッチ

この質問への回答やコメントをメールでお知らせします。