PHP でネットワーク経由で UDP メッセージを送信したいと考えています。メッセージには事前定義されたプロトコルがあり、メッセージの長さは 10 バイトでなければならず、最初の 3 バイトはエントリ 1 用、2 バイトはエントリ 2 用、3 バイトはエントリ 3 用、最後の 2 バイトはエントリ 4 用です。
PHPでこれを行うにはどうすればよいですか? C と同様に、memcpy を使用できます。
必要なバイトの文字列を作成するだけです。文字列の文字は、PHP ではバイトです。
これは近いです。
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 します。