Perl + PHP + Sockets (Unix)
Postat: 18 oktober 2011, 18:14:58
Jag har ett problem som jag fan inte lyckas lösa. Jag måste ha missat nåt.
Jag har en logger i perl. Den snappar upp massa saker från mitt övervaknngsnät och loggar detta sedan till en socket på disk för att jag vill parsa datan i php. Ja det är dumt att köra flera språk blandat men det är så det blivit och får vara tills jag är klar.
Dvs
Perl Skapar socket på disk.
Php scriptet ska läsa denna socketen.
Så här ser koden ut i Perl:
Socketen har ju skapats på disk och den ser bra ut? Vet inte hundra hur jag kollar den annars.
Sedan försöker jag läsa den i php med:
Men phpn säger då bara:
PHP Warning: stream_socket_client(): unable to connect to unix:///tmp/Plugwise (Connection refused) in /root/duo/plug.php on line 5
Connection refused (111)<br />
Jag har provat flera olika sätt i php men får de inte att funka. Någon som har tips? Jag måste ha missat nåt fundamentalt men kan inte hitta det. Drar mig för att fråga men jag har suttit för länge nu.
Jag har en logger i perl. Den snappar upp massa saker från mitt övervaknngsnät och loggar detta sedan till en socket på disk för att jag vill parsa datan i php. Ja det är dumt att köra flera språk blandat men det är så det blivit och får vara tills jag är klar.
Dvs
Perl Skapar socket på disk.
Php scriptet ska läsa denna socketen.
Så här ser koden ut i Perl:
Kod: Markera allt
use IO::Socket;
socket(SERVER, PF_UNIX, SOCK_STREAM, 0);
unlink "/tmp/Plugwise"; bind(SERVER, sockaddr_un("/tmp/test")) or die "Can't create server: $!";
print SERVER "Hej\n";
Sedan försöker jag läsa den i php med:
Kod: Markera allt
<?php
echo "starting\n";
$s = stream_socket_client('unix:///tmp/test',$errno, $errstr);
#$s = fsockopen ("/tmp/Plugwise",0,$errno, $errstr);
if (!$s) {
echo "$errstr ($errno)<br />\n";
} else {
while (1==1) {
echo stream_socket_recvfrom($s, 1024)."\n";
}
}
PHP Warning: stream_socket_client(): unable to connect to unix:///tmp/Plugwise (Connection refused) in /root/duo/plug.php on line 5
Connection refused (111)<br />
Jag har provat flera olika sätt i php men får de inte att funka. Någon som har tips? Jag måste ha missat nåt fundamentalt men kan inte hitta det. Drar mig för att fråga men jag har suttit för länge nu.