2014-06-10 78 views
-1

我想通過fsockopen與UDP地址成功連接後得到一條消息。與RCON ModManager(遊戲服務器)連接。PHP UDP fsockopen fread(RCON)

什麼期望?
如果我用telnet: 的Telnet 31.204.131.9 15502,我看到:
ModManager器Rcon V8.5
文摘種子:iJrrQAkv

現在在PHP中:

<?php 
$_ip  = '31.204.131.9' ; 
$_port  = '15502'; 

if (($socket = fsockopen ('udp://'.$_ip, $_port, $errno, $errstr, 30))) { 

    // till here it works, got connected 

    // Digest seed? 
    if(fwrite($socket, "GET/HTTP/1.1\r\n")) { // writing works } 
    echo fread($socket, 1024); // NOTHING 
    fclose($socket); 

} 
?> 

,您可以嘗試。 。IP和端口有效。 Thnx提前!

+0

您是否檢查過錯誤日誌? –

+0

是的,在errstr和errno中沒有錯誤是0. fwrite似乎工作,如果我做if(fwrite($ socket,「1 2 3 \ r \ n」)){}。 而且fread失敗,那裏也沒有錯誤輸出。 – Bny

回答

0

當您使用telnet時,使用tcp協議,而不是udp。嘗試

<?php 
$_ip  = '31.204.131.9' ; 
$_port  = '15502'; 

if (($socket = fsockopen ($_ip, $_port, $errno, $errstr, 30))) { 

    // till here it works, got connected 

    // Digest seed? 
    if(fwrite($socket, "GET/HTTP/1.1\r\n")) { echo "writing works\n"; } 
    echo fread($socket, 1024); // NOTHING 
    fclose($socket); 

}