Socket Verbindung unter PHP
Geizhals » Forum » Programmierung » Socket Verbindung unter PHP (16 Beiträge, 174 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
Socket Verbindung unter PHP
22.08.2007, 12:59:09
Hi,
ich habe ein großes Problem. Ich habe ein Gerät, welches über eine IP und einem PORT zu meinem Server verbindet. Wie stelle ich es an, das ich die Daten empfangen kann. Es ist keine HTTP Verbindung, also kein Apache. Mittlerweile habe ich Verbindungsanfragen vom Gerät. Das Skript starte ich in der Shell also mit "nohup script.php &".

Im PHP habe ich folgendes gemacht, aber es funktioniert nicht (Beispiel aus php.net):


while (true)
{
    // disconnected every 5 seconds...
    receive_message('127.0.0.1','90',5);
}

function receive_message($ipServer,$portNumber,$nbSecondsIdle)
{
    // creating the socket...
    $socket = stream_socket_server('tcp://'.$ipServer.':'.$portNumber, $errno, $errstr);
    if (!$socket)
    {
        echo "$errstr ($errno)<br />\n";
    }
    else
    {
        // while there is connection, i'll receive it... if I didn't receive a message within
        // $nbSecondsIdle seconds, the following function will stop.
        while ($conn = @stream_socket_accept($socket,$nbSecondsIdle))
        {
            $message = fread($conn, 1024);
            
            $c = "--- ".date("d-m-Y H:i:s")." -----------------------\r\n";
            $fp = fopen("log.txt", "a+");
            $c .= $message."\r\n";
            $c .= "-----------------------------------------------\r\n";
            fputs($fp, $c);
            fclose($fp);

            fputs ($conn, "OK\n");
            fclose ($conn);
        }
        fclose($socket);
    }
}


Hat jemand einen TIPP für mich :-)

Grüsse,
Philipp


Ich spende für rote Nasen Clowndoctors, du auch ?
Deine Registrierung ist gleichzeitig eine Spende.

22.08.2007, 13:01 Uhr - Editiert von jobnavigator, alte Version: hier
Antworten PM Übersicht Chronologisch
 
Melden nicht möglich
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung