2010-10-30 62 views
1

我有一個套接字服務器,它偵聽端口5001上的連接,當連接被接受並且接收到數據時,我請求我的數據庫創建特定格式的數據包並將其寫回客戶端。在PHP套接字中的TCP重試

爲了使數據傳輸更加可靠,我必須在PHP中實現TCP重試,我該如何解決這個問題我目前的實現使用了一個線程類來激發一個線程來檢查是否收到了該包的ack直到超時,否則它會退出3次直到超時,但沒有用相同的方式取得任何成功。

有沒有更好的實現方法。

+0

如果您可以改進TCP的可靠性,那麼您比99.99%的人更聰明。 – skaffman 2010-11-02 08:58:59

回答

2

爲了讓數據傳輸更可靠 我必須實現TCP 重試在PHP

不,你不會。 TCP已經可靠,它已經實現了重試。而且您無法知道是否收到了ACK,因此無法執行您所描述的內容。除非你正在談論應用級別的確認?在這種情況下,你需要澄清你的問題。

+0

是的,我得到了所有錯誤的問題或可能不得不重新說明這個問題。我基本上使用套接字與遠程設備進行通信,從我的PHP門戶網站進行通信。現在我們已經實現了一個協議來幫助在應用程序通信級別。現在,當通信發生時,我必須執行應用程序級別重試,以查看是否收到了基於我們定義的協議的特定數據包的響應。 – user160108 2010-11-02 11:37:23

+0

我不明白這個問題。比什麼好? – EJP 2010-11-02 23:12:44