2010-10-04 54 views
1

我有一個C++後端應用程序編碼通過TCP套接字,我連接到PHP。問題在於連接在每次刷新,更改頁面等時都關閉。我想讓每個客戶端保持連接打開狀態,執行類似$ _Session的操作。保持一個連接爲每個客戶端打開php

+1

如果我們談論的是HTTP,唯一接近的就是[Keep-Alive](http://msdn.microsoft.com/zh-cn/library/system.net.httpwebrequest.keepalive.aspx)這是有限的使用和服務器設置限制某些最高限額。如果服務器支持它,可能會阻止一些開銷,但通過HTTP重新連接是不可避免的,我不理解與$ _SESSION的連接(它不會保留現有的連接,而是在每次請求時從商店中重新創建) 。 – Wrikken 2010-10-05 00:32:33

回答

2

這實際上並不是PHP(或整個基於Web的應用程序和服務,就此而言)的意思。這也意味着不久就會乞求資源問題,因爲大型PHP進程將同時運行,而不是在每個請求上快速運行。

與其他客戶端使用正常會話機制(即處理會話ID cookie)有什麼不同?

我不是C++的專家,但我確信大多數http庫可以處理「cookie jar」,這基本上是您在客戶端應用程序中堅持會話所需的全部內容。

2

雖然我不太瞭解PHP,但我可以告訴你,Web瀏覽器並不是用來保持連續的連接。每次他們發出HTML請求時,他們都必須重新連接。

HTTP標準規定服務器在完成發送它的請求後將與客戶端斷開連接。

+2

把'HTML'改成'HTTP',你有一個問題(雖然'TCP'套接字可能與'HTTP'無關,OP說'刷新'和'改變頁面'嚴重地表明它是) – Wrikken 2010-10-05 00:27:30

+0

哦,和psst:'Keep-Alive' .... – Wrikken 2010-10-05 00:31:25

相關問題