2011-04-26 137 views
4

我試圖從我的本地主機發送推送通知到我的iDevices一切正常,但在PHP錯誤日誌中我得到了下面的警告爲什麼?從我的服務器發送推送通知PHP

注:我收到的所有設備推送

警告:

PHP Warning: socket_close(): supplied resource is not a valid Socket resource in /Applications/MAMP/htdocs/Push/SendPush.php on line xxx 

我的一些代碼:

//.... 
$streamContext = stream_context_create(); 
stream_context_set_option($streamContext, 'ssl', 'local_cert', $apnsCert); 

$apns = stream_socket_client('ssl://' . $apnsHost . ':' . $apnsPort, $error, $errorString, 2, STREAM_CLIENT_CONNECT, $streamContext); 
//... 

socket_close($apns); 
fclose($apns); 

回答

8

最有可能蘋果收到您的有效載荷後終止連接。

沉默警告做出以下變化:

@socket_close($apns); 
1

stream_socket_client()返回false如果有一個錯誤。您應該明確地測試它:

$apns = stream_socket_client(...); 
if ($apns === FALSE) then 
    die("Error while getting stream socket ($error): $errorString"); 
} 

其中$ error/$ errorString是您在stream_socket_client()調用中指定的那個。

+0

你好,我加入我們的代碼,如果(...){}其他{回聲 「...」};我得到了其他呼應女巫意味着$ apns ==真,我仍然得到警告 – 2011-04-26 17:03:56