webシステムとローカルアプリの連携
解決したいこと
ハンディからwebシステムの印刷ボタンを押すと、
別のクライアントPCにつながっているラベルプリンタから印刷する。
(ラベルプリンタはUSB接続)
環境
・Azure web appを使う。
・DBはAzureのsqlserver。
・Blazorでwebシステム開発を行う。
・ラベルプリンタがあるため、webシステムから印刷データをローカルアプリ(C#)に送り印刷する。
→webシステムとローカルアプリはwebsocketで接続。
→ローカルアプリはクライアントPCにインストールする。
試したこと
①印刷データをクライアントPCのIP指定し、ローカルアプリに送ると
Mixed Contentエラーになる。
This request has been blocked; this endpoint must be available over WSS
→SSLの認証が必要だが、ローカルアプリなので認証なしでいきたい。
②印刷データをDBに格納し、DBのデータ変更をローカルアプリからsqlDependencyで取得する。
→Azureのsqlserverが対応していない。
→sqlNotificationRequestも対応していない。
③websocketの代わりに、TcpListenerで接続。
→Blazorが対応していない。
今のところ
印刷データをDBに格納し、ローカルアプリからそのテーブルを5秒おきくらいにselect。自身の印刷データがあったら印刷する。
→数十台のクライアントが同時に印刷データのチェックを行うので、ネットワークが心配。
くらいしか方法が思い付きません。
いい方法がありましたら、ご教授ください。
必要であれば、ソースも載せますので。