やっと週末です。
今週の情報
liverepeaterのプログラムでつかったRTMPClientの拡張ですが、FlashMediaServerにつなぐとHandShakeこけるっぽい。
理由は「Red5のOutboundHandshakeの実装が適当」だからです。
すみません。適当ではなかったです。
詳細は文末
HandShakeを動作させるときに、Clientから3回、Serverから3回メッセージを送信するわけですが、Clientからの2回目のメッセージの中にプレーヤーが正常であるか確認するための暗号化されたキーをいれてないといけないっぽいです。
主にメンテナンスされているInboundHandshake(サーバー側実装)では、しっかり確認するようにつくられているのに、OutboundHandshake(クライアント側実装)では処理が抜け落ちてるようです。
実際にRed5のサーバーにRtmpClientをつかった実装の接続を実施すると、コンソール上に不正なクライアントがどうのこうのというメッセージがでてきます。
ぱぱっと直してRed5サーバーに有効なクライアントと判定させて、FlashMediaServerにつないで動作確認してみたいところです。
接続できない理由(追記)
Rtmpe用の接続としてちゃんとバージョン9以降用の接続が準備されていました。この方法で接続させないと、SHA128による暗号化したデータの追加がない状態でHandshakeを実行しようとするので、不正なプレーヤーと判定されるようです。
詳細は明日にでも書きます。
0 件のコメント:
コメントを投稿