phpスクリプトで遊ぼうとしているJavaサーバーがいくつかあります。
この形式は、メッセージが符号なしバイトとして受け取るバイト数と、文字列を構成するバイトを提供します。
これが私の機能と解説です
function read($socket, $readnum) {
$endl = "<br>"; // It's running on apache
// attempt to get the byte for the size
$len = unpack("C",socket_read($socket, 1))[0];
// this prints "after ", but $len does not print. $endl does
echo "after " . $len . $endl;
// obviously this fails because $len isn't in a valid state
$msg = socket_read($socket, $len);
// print the message for debugging?
echo $len . " " . $msg;
return $msg;
}
私は実際にはPHPの人ではなく、Javaの人であるため、この長さを取得する方法がわかりません。
@ c0le2のリクエストで、次の編集を行いました
$lenarr = unpack("C",socket_read($socket, 1));
$len = $lenarr[0]; // line 81
次のエラーが発生しました
PHP Notice: Undefined offset: 0 in simple_connect.php on line 81