Pereiti prie turinio

[PHP] Ar įmanoma padaryti laiko limitą socketams ?


Rekomenduojami pranešimai

	function Query( $IP, $Port = 25565 )
{
	$Socket = Socket_Create( AF_INET, SOCK_STREAM, SOL_TCP );
	if( $Socket === FALSE || @Socket_Connect( $Socket, $IP, (int)$Port ) === FALSE )
	{
		return FALSE;
	}

	Socket_Send( $Socket, "\xFE", 1, 0 );
	$Len = Socket_Recv( $Socket, $Data, 256, 0 );
	Socket_Close( $Socket );

	if( $Len < 4 || $Data[ 0 ] != "\xFF" )
	{
		return FALSE;
	}

	$Data = SubStr( $Data, 3 );
	$Data = iconv( 'UTF-16BE', 'UTF-8', $Data );
	$Data = Explode( "\xA7", $Data );

	return Array(
		'HostName'   => SubStr( $Data[ 0 ], 0, -1 ),
		'Players'    => isset( $Data[ 1 ] ) ? IntVal( $Data[ 1 ] ) : 0,
		'MaxPlayers' => isset( $Data[ 2 ] ) ? IntVal( $Data[ 2 ] ) : 0
	);
}

 

Štai funkcija, kurioje socketų pagalba yra išgaunama informacija. Reikia padaryti, kad returnintų "false", jei informacija negauta per tam tikrą laiką. Panašiai kaip set_time_limit(123);, bet ši funkcija visiškai sustabdo skripto darbą.

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Svečias
Ši tema yra užrakinta ir joje nebegalima rašyti naujų pranešimų.
  • Populiaru šiuo metu

  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...