ホームページ  >  記事  >  バックエンド開発  >  PHP は amf データをパッケージ化してポストを送信します

PHP は amf データをパッケージ化してポストを送信します

WBOY
WBOYオリジナル
2016-06-13 12:37:06981ブラウズ

PHP は AMF データをカプセル化し、post
を送信してクライアントリクエストと AMF リクエストパケットをシミュレートします。C# を学習したことがないので、PHP バージョンに翻訳したいのですが、非常に苦痛です。現在、インターネット上に同様の機能を備えたクラス ライブラリがあるかどうかお聞きしたいのですが。それとも同じ関数のコードがすでに存在しますか?

<br>
クラス AMF_Post_Data <br>
{ <br>
公開リスト<br>
<br>
                                                                                                         
/// 初期化メッセージ <br>
                                                                                                               
///<param name="at"></param> <br>
///<param name="headers"></param> <br>
///<param name="ボディ"></param> <br>
public AMF_Post_Data(AMFType at, int headers, int body) <br>
                                                               
//AMF バージョン <br>
If (== AMFType.AMF0) <br>
                                                               
メッセージ = 新しいリスト & lt; バイト & gt; (新しいバイト [] {0x00, 0x00});
                                                                                
else if (== AMFType.AMF3) <br>
                                                               
メッセージ = 新しいリスト & lt; バイト & gt; (新しいバイト [] {0x00, 0x03});
                                                                                
<br>
//ヘッダーの数 <br>
message.Add(BitConverter.GetBytes(headers)[1]);
message.Add(BitConverter.GetBytes(headers)[0]);
//体の量 <br>
message.Add(BitConverter.GetBytes(body)[1]);
message.Add(BitConverter.GetBytes(body)[0]);
} <br>
<br>
                                                           
/// ターゲットを追加 <br>
                                                           
///<param name="ターゲット"></param> <br>
///<param name="レスポンス"></param> <br>
public void AddTargetAndResponse(string target, string Response) <br>
                                                              
// ターゲットの長さを追加 <br>
message.Add(BitConverter.GetBytes(target.Length)[1]);
message.Add(BitConverter.GetBytes(target.Length)[0]);
// ターゲットコンテンツを追加 <br>
message.AddRange(Encoding.Default.GetBytes(target));
<br>
// 応答の長さを追加 <br>
message.Add(BitConverter.GetBytes(Response.Length)[1]);            message.Add(BitConverter.GetBytes(Response.Length)[0]); <br>
            // 応答コンテンツを追加 <br>
            message.AddRange(Encoding.Default.GetBytes(Response)); <br>
        } <br>
 <br>
        ///  <br>
        /// 追加ボディ <br>
        /// 概要> <br>
        /// <param name="length"></param> <br>
        /// <param name="コンテンツ"></param> <br>
        public void AddBody(AMF_Post_Data_Body apdb) <br>
        { <br>
            message.AddRange(apdb.getLength()); <br>
            message.AddRange(apdb.Content.ToArray()); <br>
        } <br>
    } <br>
 <br>
    クラス AMF_Post_Data_Body <div class="clear"></div>
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。