3

Java ソケット プログラミングを使用して RTMP クライアントを作成する必要があります。私はこの文書を読み、

1 . Java ソケット プログラミングを介してハンドシェイクを正常に実行しました。

次のステップは、「接続」コマンドをサーバーに送信することです。ドキュメントに記載されているように RTMP パケットを作成し、DataOutputStream を使用して出力ストリームに書き込みます。指定された詳細に従って、「接続」packect の本体は次のようになります。

    (Invoke) “connect”
(Transaction ID) 1.0
(Object1) { app: “sample”, flashVer: “MAC 10,2,153,2”, swfUrl: null,
              tcUrl: “rtmpt://127.0.0.1/sample “, fpad: false,
              capabilities: 9947.75 , audioCodecs: 3191, videoCodecs: 252,
              videoFunction: 1 , pageUrl: null, objectEncoding: 3.0 }

上記をAMF3でエンコードされたバイトに変換する方法がわかりませんでした。「connect:」、1.0 を AMF エンコードして、OutputStream に書き込むだけでよいでしょうか。また、主要な問題は、オブジェクトをエンコードする方法です (指定されたキーと値のペア)。最初のキーをエンコードしてソケットに書き込み、次に AMF でエンコードされた値を書き込む必要があります。http プロトコルの本体のように、2 つのペアの間に & 演算子を含める必要がありますか? . RnD を深く実行しましたが、このパケットを作成してソケットに書き込むコードが見つかりませんでした。

提案してください。ありがとう。

4

0 に答える 0