|
■個別ブラウザ・共有ブラウザ・レンダリング枠・外部ブラウザなどと
通信する手段として、
```
「localhost:ポート番号」での シンプルなHttpListnerを建てる関数
```
を用意してはどうでしょうか。
レンダリング枠には、現在、それに似たようなものがありますが、
普通に空きポートベースで、localhost ⇔ localhost や file ⇔ localhost なら
普通によくある方法で、通信していいんじゃないかなーと思います。
■ちょっとサンプルを作ってみました。
https://github.com/komiyamma/hm_http_listener_sample
各解説もそちらに掲載しました。
■これの良い点はそれが非常に「汎用的な手段」である、という点でしょう。
汎用的であるがゆえに、
個別ブラウザ枠に表示されたURLを、汎用の適当な(Chrome/Edge/Firefox他)で表示
しても、同じように秀丸と双方向に通信するのがわかります。
■これはWebコンポーネントを持つ技術と汎用的にお手軽に通信できることを示します。
- WebView2
- nodejs
- .NET HttpClient (VS/VSC/Unityなども含む)
- Blazor
- MAUI
- python / http系
- ruby / http系
他、ありとあらゆるものと通信がしやすい方法だと言えます。
runProcessのように新規に起動することを前提としたものではなく、
portさえ伝達されればどちらが先に起動していても良い点が味噌でしょう。
これは「GUI同士でも連携しやすい」ということを意味します。
|
|