PHP と C の通信ヘルプ...
機能: ユーザー アカウントの変更
サーバー側は C 言語 UDP プロトコル
ip: 8.14.26.53
port: 34556
クライアントは PHP です
パッケージを送信するにはどうすればよいですか?
サーバーによって提供されるプロトコル:
1. パケット ヘッダー
Typedef struct
{
unsigned short ushLength; //パケット長
unsigned int uSequence; /Request Package seq
unsigned short ushCmd; //コマンド (0x2 ユーザーはパスワードを変更します)
char cResult;
Typedef struct
{
Char cStx; //0x2
PkgHead stHead;
Unsigned int Uin //ユーザー名の長さ
Char sUserName; name buf
Unsigned short ushPasswdLength; //パスワードの長さ
Char sPasswd[] //0x3
}ReqPasswdResetPkg; >{
Char cStx;
PkgHead stHead;
Char eStx;
} RespPasswdResetPkg; ----------------
である必要がありますソケットなので、情報を確認してください。
------解決策------------------
Pack は、各値をビッグ エンディアンにパックし、バイト ストリームとして書き込みます。
C サーバー側は、構造体が埋まらないように #progma Pack(1) に注意を払います。そうしないと、PHP の処理が少し面倒になります。
プロトコルは可能な限り JSON/XML を採用します。C または PHP などの言語の場合は有益ですが、バイナリ プロトコルは現在普及していません。