SunshinePHP Developer Conference 2015

socket_clear_error

(PHP 4 >= 4.2.0, PHP 5)

socket_clear_errorEfface toutes les erreurs précédemment générées par un socket

Description

void socket_clear_error ([ resource $socket ] )

Efface tous les codes d'erreur qui ont été enregistrés pour le socket socket, ou bien pour le socket général.

socket_clear_error() permet de remettre à zéro les codes d'erreur d'un socket ou du socket global. Cela peut être utile pour détecter l'avènement d'une erreur durant une partie de l'application.

Liste de paramètres

socket

Une ressource de socket valide, créée par la fonction socket_create().

Valeurs de retour

Aucune valeur n'est retournée.

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
0
ludvig dot ericson at gmail dot com
8 years ago
If you want to clear your error in a small amount of code, do a similar hack as to what most people do in SQL query checking,
<?php
$result
= mysql_query($sql) or die(/* Whatever code */);
?>

It could look like this:
<?php
if (!($socket = socket_create(/* Whatever code */)) {
    echo (
"Failed to create socket: " . socket_strerror(socket_last_error()) and socket_clear_error());
}
?>

As you can see, I use "and" here instead of "or" since the first part will always return true, thus if you use or PHP's lazy boolean checking will not execute the last part, which it will with an and if the first part is true.
up
-1
raphael at engenhosweb dot com dot br
3 years ago
You can do this too, with anonymous function:
<?php
$socket
= @socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or function() {
           
$errstr = socket_strerror(socket_last_error());
            echo (
"Failed to create socket: " . $errstr);
           
socket_clear_error();
        };
?>
To Top