1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| <?php
$minetestServerIp = '192.168.50.21';
$minetestServerPort = '30000';
$SEQNUM_INITIAL = '0xFFDC';
$TOCLIENT_HELLO = '0x02';
if(!($sock = socket_create(AF_INET, SOCK_DGRAM, 0)))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg \n");
}
echo "Socket created \n";
if(!socket_connect($sock , $minetestServerIp , $minetestServerPort))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not connect: [$errorcode] $errormsg \n");
}
echo "Connection established \n";
//header = pack('>IHB', PROTOCOL_ID, self.peer_id, self.channel)
$headerMsg = pack(">IHB",0x4F457403, 0, 0);
$message = $headerMsg;
//Send the message to the server
if( ! socket_send ( $sock , $message , strlen($message) , 0))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not send data: [$errorcode] $errormsg \n");
}
echo "Message send successfully \n";
echo "Lecture de la réponse:\n\n";
$buf = 'Ceci est mon buffer.';
if (false !== ($bytes = socket_recv($sock, $buf, 2048, MSG_DONTWAIT))) {
echo "$bytes octets lus depuis socket_recv(). Fermeture du socket...";
} else {
echo "socket_recv() a échoué; raison: " . socket_strerror(socket_last_error($sock)) . "\n";
}
socket_close($sock);
echo $buf . "\n";
echo "OK.\n\n"; |
Partager