Bonjour,
j'utilise un serveur PHP pour administrer une plateforme composé d'ordinateurs et équipements connectés sur un réseau local.
Mais un petit nouveau n'a pas implémenté les couches protocolaire au dessus de MAC
Du coup je dois envoyer (puis recevoir) des trames dans un format propriétaire.
Le format est donc le suivant :
En-tête MAC - mes 46 octects de données brut - CRC MAC.
Je pense utiliser les sockets (à mon que la bibliothèque Curl soit la bonne idée, peu m'importe).
J'ai commencé cette fonction mais je ne comprends pas comment fonctionne le format RAW ?
function request_data($str)
{
// Partie Emission
// ****************
$sock_transmit = socket_create(AF_INET, SOCK_RAW, 1);
echo "</br>socket_create :".$sock_transmit; // pour le debug
// Option
// ------
// domain = AF_INET|AF_INET6|AF_UNIX
// type = SOCK_STREAM|SOCK_DGRAM|CK_SEQPACKET|SOCK_RAW|SOCK_RDM
// protocol = SOL_TCP|SOL_UDP|
$str = hex2bin($str);
$varSenTo=socket_send($sock_transmit, $str, strLen($str), 0);
//socket_sendto($sock_transmit, $str, strlen($str), 0, '192.168.0.1', 40236); // version udp qui fonctionne
echo "</br>valeur de varSenTo : ".$varSenTo."<br />";
echo "</br>valeur de l'erreur : ". socket_strerror(socket_last_error()) ."<br />";
socket_close($sock_transmit);
echo "</br>Fin d'envoi du msg<br />";
}
Pourriez-vous m'aider SVP ?
Merci d'avance !
setthh