我需要发送和接收OOB数据。
do {
$result = socket_write($rsServ, $sData, $BUFFER_SIZE);
if (rand(0, 1)){
$resultOOB = socket_send($rsServ, "!", 1, MSG_OOB);
echo "Send OOB data\n";
}
if ($result === false) {
$errormsg = socket_strerror(socket_last_error());
echo $errormsg."\n";
}
}
while ($result);
接收数据:
do {
if (socket_recv($rsSock, $tmp, 1, MSG_OOB)){
echo "Receiving OOB data\n";
}
$result = socket_read($rsSock, $BUFFER_SIZE);
} while ($result);
但是php给我写了警告信息: PHP警告:socket_recv():无法从套接字[22]读取:第84行/home/andrey/Project/050502_shlapkov/main.php中的参数无效
如何在PHP中定义出现的带外数据?
答案 0 :(得分:0)
socket_recv($rsSock, $tmp, 1, 0)
而不是
socket_recv($rsSock, $tmp, 1, MSG_OOB)
第4个争论是int,但MSG_OOB
你以前无法定义。