1

PHP でネットワーク経由で UDP メッセージを送信したいと考えています。メッセージには事前定義されたプロトコルがあり、メッセージの長さは 10 バイトでなければならず、最初の 3 バイトはエントリ 1 用、2 バイトはエントリ 2 用、3 バイトはエントリ 3 用、最後の 2 バイトはエントリ 4 用です。

PHPでこれを行うにはどうすればよいですか? C と同様に、memcpy を使用できます。

4

3 に答える 3

1

必要なバイトの文字列を作成するだけです。文字列の文字は、PHP ではバイトです。

于 2012-12-19T05:04:00.887 に答える
0

これは近いです。

function &memcpy(&$dest,$src,$n){
$dest=substr($src,0,$n) . substr($dest,$n);
return $dest;
}

Cとは異なり、PHPはメモリと再割り当てを管理し、オーバーフローできないことに注意してください:piユーザーランドで正確なmemcpyクローンを作成できるとは思わないため、いくつかの例外をスローできます$src) または $n>strlen($dest) ofc. 上記のコードは、C の memcpy とは異なり、必要に応じて自動的に $dest を rezie します。

于 2015-01-31T20:18:01.030 に答える