客戶端使用socket_write()定時發(fā)送心跳以后,就不能使用socket_recv()接收workerman主動發(fā)送的數(shù)據(jù):
我是使用客戶端主動發(fā)送數(shù)據(jù)給workerman的服務器端,下面是代碼
do{
$buff = "";
if((socket_recv($socket, $buf, 1024, MSG_PEEK)) != false) chuli($buff);
$cmd = '{"head":{"heart":"idle"}'."\n";
if(socket_write($socket, $cmd, strlen($cmd))==false){
echo 'SEND '.date("Y-m-d H:i:s")." ".$cmd."\n";
connect();
}
sleep(15);
}while(TRUE);
這個只能客戶端發(fā)送數(shù)據(jù),服務端回復一條數(shù)據(jù),當服務端主動發(fā)送一條數(shù)據(jù)的時候就無法通過socket_recv()來接收這條主動發(fā)送的數(shù)據(jù)了