Je suis en train d'envoyer des données en texte clair sur un serveur de graphite qui fonctionne sur mon local, voici le code pour le même:socket PHP n'envoie pas
<?php
error_reporting(E_ALL);
$address = '127.0.0.1';
$port = 2003;
$fsock = fsockopen($address,$port);
for($i=1;;$i++){
$send = "dummy.metric.value ".$i." ".time();
$sent = fwrite($fsock, $send, strlen($send));
echo $send ." sent ".$sent."\n";
sleep(4);
}
?>
Il n'y a pas d'erreur, mais le serveur de graphite doesn ne montre pas les nouvelles données. Le serveur est en cours d'exécution et je peux envoyer des données à travers nc
et telnet
Il est probablement tamponné, ajoutez un appel à ['fflush()'] (http://us.php.net/manual/fr/function.fflush.php) ('fflush ($ fsock);') avant 'dormir (4); ' – nickb
@nickb l'a fait, toujours pareil. – karthik
Devez-vous également envoyer un CRLF? Êtes-vous en appuyant sur retour lorsque vous le faites via telnet/nc? Essayez d'ajouter '." \ R \ n "' aux données que vous passez à 'fwrite()' – DaveRandom