我正在研究一款依賴LAMP服務器的iPhone遊戲。我想創建一個基於「事件」的系統,其中apache服務器向iphone發送一個事件。如何建立從iPhone到Apache服務器的套接字連接並通過PHP進行通信?
對於這一點,我想用「CFStreamCreatePairWithSocketToHost」連接到Apache服務器的80端口。
我能夠成功連接到服務器,並打開讀取,並通過iPhone寫流,但我不知道如何將數據發送到使用PHP從LAMP服務器到iPhone上運行的iPhone。
我認爲我可以使用的fsockopen在PHP中打開一個套接字連接,將數據寫入到該插座。我累了跑這個代碼
$fp = fsockopen("tcp://localhost", 80, $errno, $errstr);
if (!$fp) {
echo "ERROR: $errno - $errstr<br />\n";
} else {
回聲「寫入插座
」; fwrite($ fp,「wwqeqweqw eqwe qwe \ n」);
//echo fread($fp, 26);
fclose($fp);
echo "done";
}
但是,我沒有看到任何東西在iphone上讀取..任何想法是怎麼回事,或如何做到這一點?
謝謝!
問題是,我們無法在iPhone上託管一臺可以在廣域網上工作的服務器(這是我通過閱讀互聯網上的東西發現的)。 我知道一些應用程序,一些如何能夠調用iPhone執行一個事件。不知道他們是怎麼做到的...... – user348398 2010-05-23 18:15:10
@candoyo我假設他們正在使用某種持久連接。不知道這是否對您有幫助 - 我沒有參與iPhone開發 - 但使用「長輪詢」技術可以在HTTP客戶端中實現類似的效果:http://en.wikipedia.org/wiki/Comet_%28programming%29 – 2010-05-23 18:17:56