2013-02-03 70 views
0

我有一個Win32應用程序服務器,它通過TCP自己的協議與客戶端通信。我需要從PHP調用這個應用服務器的一些功能。如何池套接字連接?

我打開一個套接字,與服務器建立通信,向套接字寫請求,接收一個答案,然後關閉套接字。爲了獲得更好的性能,我想建立一個到應用服務器的連接池。

如何在PHP中創建連接池(pool of socket)?

+0

可能的重複:http://stackoverflow.com/questions/908108/is-there-a-way-to-share-object-between-php-pages – leftclickben

+1

我不認爲你可以在PHP中建立一個連接池。解釋器將在處理每個請求結束時關閉套接字。這是你必須在擴展中實現的東西。我會測試一下,看看重複的握手是否足夠大,以便爲此努力辯護。 – cleong

回答

0

你可以用php打開一個socket來和你的服務器通信!

<?php 
    $fp = fsockopen("udp://127.0.0.1", 13, $errno, $errstr); 
    if (!$fp) { 
     echo "ERROR: $errno - $errstr<br />\n"; 
    } else { 
     // Write to a socket 
     fwrite($fp, "Hello my server"); 

     // Read from socket 
     echo fread($fp, 26); 

     // Close the socket 
     fclose($fp); 
    } 
?> 
+2

我確定這個答案包含真實的陳述,但它真的回答了這個問題嗎?該問題詢問*連接池*。 –

+0

感謝所有。我將做出一個簡單的解決方案:創建套接字,使用套接字工作並關閉來自客戶端的PHP套接字,並使服務器端的套接字連接成爲一個線程池。 – host6