2012-04-19 42 views
1

我有一個teampeak服務器,我想在網頁(以PHP)顯示服務器狀態(在線,離線)。請問你能幫幫我嗎 ?我嘗試了不同的東西,但它不起作用。在PHP中獲取團隊協作服務器狀態

謝謝!

+0

你能告訴我們你試過了什麼嗎? – Aaron 2012-04-19 18:44:22

+0

fsockopen + fread應該工作,一定要使用1秒以下的超時不會導致無盡的加載時間,嘗試緩存結果幾秒或甚至更長http://php.net/fsockopen – Hajo 2012-04-19 18:45:53

回答

2

如果您使用的是Teamspeak 3,那麼可以通過使用Teamspeak php框架輕鬆完成。 (http://addons.teamspeak.com/directory/tools/integration/TeamSpeak-3-PHP-Framework.html

後,您可以使用沿着這東西來檢查您的服務器的狀態:

TeamSpeak3::init(); 
$status = "offline"; 
$ts3 = TeamSpeak3::factory("serverquery://<queryusername>:<password>@<name_or_ip>:<queryport>/?server_port=<ts3port>&use_offline_as_virtual=1&no_query_clients=1"); 
$status = $ts3->getProperty("virtualserver_status"); 

您也可以使用Teamspeak3_node_server的isOnline功能。

+1

什麼是' $ status =「offline」;'?我沒有看到原因。 – Shuro 2013-07-15 13:30:13

+1

@Shuro它用於將其初始化爲默認狀態。因此,即使TeamSpeak3 :: Factory失敗,它也會將其脫機。 – Rutix 2013-07-17 08:45:42

+0

更好地使用try-catch – Erroid 2016-01-03 00:01:54