文字

socket_last_error

(PHP 4 >= 4.1.0, PHP 5)

socket_last_errorReturns the last error on the socket

说明

int socket_last_error ([ resource $socket ] )

If a socket resource is passed to this function, the last error which occurred on this particular socket is returned. If the socket resource is omitted, the error code of the last failed socket function is returned. The latter is particularly helpful for functions like socket_create() which don't return a socket on failure and socket_select() which can fail for reasons not directly tied to a particular socket. The error code is suitable to be fed to socket_strerror() which returns a string describing the given error code.

参数

socket

A valid socket resource created with socket_create() .

返回值

This function returns a socket error code.

范例

Example #1 socket_last_error() example

<?php
$socket 
= @ socket_create ( AF_INET SOCK_STREAM SOL_TCP );

if (
$socket  ===  false ) {
    
$errorcode  socket_last_error ();
    
$errormsg  socket_strerror ( $errorcode );
    
    die(
"Couldn't create socket: [ $errorcode $errormsg " );
}
?>

注释

Note:

socket_last_error() does not clear the error code, use socket_clear_error() for this purpose.

用户评论:

[#1] ca at php dot spamtrak dot org [2009-12-15 14:33:00]

This is a bit long, but personally I prefer to use the standard C defines in my code.

<?php

define
('ENOTSOCK',      88);    
define('EDESTADDRREQ',  89);    
define('EMSGSIZE',      90);    
define('EPROTOTYPE',    91);    
define('ENOPROTOOPT',   92);    
define('EPROTONOSUPPORT'93);  
define('ESOCKTNOSUPPORT'94);  
define('EOPNOTSUPP',    95);    
define('EPFNOSUPPORT',  96);    
define('EAFNOSUPPORT',  97);    
define('EADDRINUSE',    98);    
define('EADDRNOTAVAIL'99);    
define('ENETDOWN',      100);   
define('ENETUNREACH',   101);   
define('ENETRESET',     102);   
define('ECONNABORTED',  103);   
define('ECONNRESET',    104);   
define('ENOBUFS',       105);   
define('EISCONN',       106);   
define('ENOTCONN',      107);   
define('ESHUTDOWN',     108);   
define('ETOOMANYREFS',  109);   
define('ETIMEDOUT',     110);   
define('ECONNREFUSED',  111);   
define('EHOSTDOWN',     112);   
define('EHOSTUNREACH',  113);   
define('EALREADY',      114);   
define('EINPROGRESS',   115);   
define('EREMOTEIO',     121);   
define('ECANCELED',     125);   
?>

上一篇: 下一篇: