請教個問題
fwrite($client, $data_string."\n");
// 讀取推送結(jié)果
$resp = fread($client, 8192);
fwrite 在服務(wù)端沒接收到內(nèi)容, fread也沒接收到回應(yīng),這種情況會不會是阻塞造成的?
// 建立socket連接到內(nèi)部推送端口
$client = stream_socket_client($this->config, $errno, $errmsg, 5, STREAM_CLIENT_ASYNC_CONNECT|STREAM_CLIENT_CONNECT);
if(!$client)
{
Helper::logger('Jpush_error.log', 'WMERR-->'."erreur : $errno - $errstr<br />n");
return false;
} else {
// 推送的數(shù)據(jù),包含uid字段,表示是給這個uid推送
$data = 'push';
$data = $alias;
$data_string = json_encode($data);
// 發(fā)送數(shù)據(jù),注意3212端口是Text協(xié)議的端口,Text協(xié)議需要在數(shù)據(jù)末尾加上換行符
//var_dump($data_string);exit;
fwrite($client, $data_string."\n");
// 讀取推送結(jié)果
$resp = fread($client, 8192);
return self::handleResult(str_replace("\n", "", $resp),$data_string,"WM");
}
基本是取的demo里面的,稍微調(diào)整了一點(diǎn)點(diǎn)