問題タブ [out-of-band]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - netty は帯域外データ (TCP の URGent フラグで送信) を処理できますか?
アプリケーション層コード (チャネル パイプラインのハンドラー) に、受信したバッファーに URGent フラグ + ポインターが設定された TCP セグメントが含まれている (つまり、1 バイトの OOB データが送信された) ことを通知する API メソッド/フラグ/シグナル/イベントはありますか? ?
デバッガーで確認できる限り、SO_OOBINLINE
オプションは基になるソケットに設定されていません (コードが設定されていないことはわかっています。デフォルトでは false ですが、とにかくライブシステムで再確認しました)。それでも、URGent バイトはあたかもプロトコル パケットの一部であるかのように私のコードに配信されますが、予想通り、これはプロトコル デコード ロジック (パケット長部分) を台無しにします。
そのようなトラフィックを処理する方法についての指針はありますか? (プロトコルも、この OOB/URGent データを送信する特定のアップグレードされたクライアント バージョンも制御できません)。
現在、私が実装しなければならないかもしれない醜い解決策は、送信される特定のバイトのハードコードされた値に依存する特別な処理を追加することです。パケット長が異常に長くなるので、 から拡張したクラスで確認できLengthFieldBasedFrameDecoder
ます。
android - Bluetooth デバイスを Android に安全に接続する
Bluetooth 経由で Android アプリと安全に通信する必要があるデバイスを開発しています。セキュリティ上の理由から、デバイスと通信できるようにするには、定義済みの電話だけが必要です。また、これが改ざんされたデータをアプリに通信しようとする侵入者のデバイスではないことも確認する必要があります。
Bluetooth の仕様を見ると、それを行う唯一の方法は、プロビジョニング前の一時キー (TK) による帯域外 (OOB) 認証を使用することであるという印象を受けました。これは非常に有望に見えましたが、Android アプリで OOB を使用する方法を見つけようとしたところ、サポートされていないようです。
Android で OOB 認証を使用することはまだ可能ですか?
いいえの場合、私の問題を解決する別の方法はありますか?