我需要发送和接收 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中定义带外数据?
你可以试试这个:
socket_recv($rsSock, $tmp, 1, 0)
而不是
socket_recv($rsSock, $tmp, 1, MSG_OOB)
第 4 个参数是 int,但MSG_OOB
您以前无法定义的参数。