Wie gehe ich in PHP mit einem mit Sockel versehenen Rohr [Fehler 32] um?Php

PHP-Programmierer chatten hier
Anonymous
 Wie gehe ich in PHP mit einem mit Sockel versehenen Rohr [Fehler 32] um?

Post by Anonymous »

Ich habe Socket -Handlerklasse, mit der mit Hilfe mehrerer Sockelfunktionen dem Kunden mit spezifischem IP- und Port mit Hilfe der Aufgabe kommuniziert werden. Zum ersten Mal, wenn ich writeToSocket () Funktion verwende, funktioniert es perfekt. < /p>

Aber wenn ich den Client neu starte (mit IP und Port). Und versucht, writeToSocket () zu verwenden. Es gibt mich -Rausfehler mit Fehlercode 32 zurück. Aber nach einer erfolgreichen Ausführung von Socket_Write Funktion. Bedeutet, dass ich diesen Fehler nach einiger Zeitdauer erhalte, wenn ich Daten auf Socket schreibe. Ich habe einige Lösungen gelesen und die häufigste Lösung ausprobiert, bei der ich Socket_Shutdown und socket_close verwende, um die Socket -Verbindung ordnungsgemäß zu beenden, wenn ich den Client nicht reagiert. Und danach rufe ich wieder StartConnection an, was mir einen neuen Sockel gibt. Aber ich bekomme trotzdem einen kaputten Rohrfehler. < /P>

function startconnection(){
/* Create a socket in the AF_INET family, using SOCK_STREAM for TCP connection */
$this->socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($this->socket === false) {
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
echo "$errorcode : $errormsg";
return false;
}
else {
echo "Socket successfully created.";
}

/* Accept incoming connections */
$this->result = socket_connect($this->socket, $this->ipaddress, $this->port);
if($this->result === false){
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
echo "$errorcode : $errormsg";
return false;
}
else {
echo "successfully connected to $this->ipaddress, $this->port";
}
return true;
}

function writetosocket($input){
$sent = socket_write($this->socket, $input, strlen($input));
if($sent === false) {
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
echo "$errorcode : $errormsg";
return false;
}
else {
echo "Message Sent : $input";
}
return true;
}
< /code>

Hilf mir, dieses Problem zu verstehen und zu beheben>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post