国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

socket客戶端的心跳數(shù)據(jù)處理問(wèn)題

dreamboycx

現(xiàn)在我用workerman搭建了一個(gè)socket服務(wù)端,client.php客戶端作為微信公眾號(hào)的地址,現(xiàn)在服務(wù)端有個(gè)心跳檢測(cè),數(shù)據(jù)是{"type":"ping"},我建立了長(zhǎng)連接后接收服務(wù)端的socket數(shù)據(jù),我這樣寫的:

$in = '{"type":"test"}';
$out = '';

if(!socket_write($socket, $in, strlen($in))) {
    $errStr = "socket_write() failed: reason: " . socket_strerror($socket);
    echo http_text($FromUserName,$ToUserName,$errStr);exit;
}
$infoStr = '';
while($out = socket_read($socket, 8192)) {
    $infoStr = "接收服務(wù)器回傳信息成功!\n";
    $infoStr .=  "接受的內(nèi)容為:".$out;
}

echo http_text($FromUserName,$ToUserName,$infoStr);//回復(fù)微信消息

socket_close($socket);

在while循環(huán)那里一直接收心跳數(shù)據(jù),下面的回復(fù)微信公從號(hào)的信息無(wú)法執(zhí)行,導(dǎo)致公眾號(hào)無(wú)法服務(wù),怎么能避免接收心跳數(shù)據(jù)呢?不限入死循環(huán),我把while循環(huán)去掉了,直接用$out = socket_read($socket, 8192);只要這句話也不行,想不明白,不知道為什么?請(qǐng)老大指點(diǎn)迷津。。。

3717 1 0
1個(gè)回答

walkor 打賞

socket_read后判斷下
是否讀到了自己要的數(shù)據(jù),如果讀到了就斷開(kāi)。
沒(méi)讀到就while循環(huán)讀。

  • 暫無(wú)評(píng)論
年代過(guò)于久遠(yuǎn),無(wú)法發(fā)表回答
??