2013-01-08 124 views
0

我正在製作一款多人智能手機遊戲,其中我將PHP作爲後端。當玩家將移動信息發送給執行腳本的PHP腳本時,最後會將一些信息發送回智能手機。當很多玩家同時使用atr(現在我的工作量爲每秒2到4個請求),響應時間有點長......我有大約3-4個不同的SELECT查詢和4-5 UPDATE/INSERT在我的腳本中查詢。在執行之前完成php腳本

我一直在尋找存儲過程,並正在考慮使用AJAX,但不知道。我想要完成的是通過在腳本中儘快將數據發送回智能手機來縮短響應時間,然後再執行其餘部分!

解決此問題的最佳方法是什麼?

感謝提前你所有的忠告;-)

+0

「以後再執行」其餘部分是什麼?知道發送給服務器的數據,返回的內容以及發送回覆後要執行的流程可能會有幫助 – CodeMonkey

+0

這不是方法。您大多使用套接字並保持與玩家的連接(如舊的IRC)。你可以用php Sockets擴展來完成。你將它綁定到任何端口(80以外),並聽取用戶的請求。 – Aminadav

+0

看看這個例子:http://www.php.net/manual/en/features.connection-handling.php#71172 –

回答

0

Ajax是一個很好的選擇,因爲它不會使所有的頁面做的所有查詢需要它。

然後,你檢查你的查詢:有沒有索引?你有避免多次加入?

因此,2種方式:AJAX,降低響應傳輸(使用JSON用很少的信息是好的),並優化數據庫

0

如果你使用PHP作爲快速CGI(PHP-FPM),那麼你可以嘗試迴歸響應並在「背景」中繼續腳本。

查看函數fastcgi_finish_request

相關問題