2014-06-10 99 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); 

}