<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.4 $ -->
<!-- splitted from ./en/functions/sockets.xml, last change in rev 1.1 -->
  <refentry id="function.socket-last-error">
   <refnamediv>
    <refname>socket_last_error</refname>
    <refpurpose>Returns the last error on the socket </refpurpose>
   </refnamediv>
   <refsect1>
    <title>Description</title>
     <methodsynopsis>
      <type>int</type><methodname>socket_last_error</methodname>
      <methodparam choice="opt"><type>resource</type><parameter>socket</parameter></methodparam>
     </methodsynopsis>
     &warn.experimental.func;
    <para>
     This function returns a socket error code.
    </para>
    <para>
     If a socket resource is passed to this function, the last error which
     occured on this particular socket is returned. If the socket resource is
     ommited, the error code of the last failed socket function is returned.
     The latter is in particular helpful for functions like
     <function>socket_create</function> which don't return a socket on
     failure and <function>socket_select</function> which can fail for reasons
     not directly tied to a particular socket.  The error code is suitable to
     be fed to <function>socket_strerror</function> which returns a string
     describing the given error code.
     <programlisting role="php">
<![CDATA[
if (false == ($socket = @socket_create(AF_INET, SOCK_STREAM, SOL_TCP))) {
    die("Couldn't create socket, error code is: " . socket_last_error() .
        ",error message is: " . socket_strerror(socket_last_error()));
}
]]>
     </programlisting>
    </para>
    <note>
     <para>
      <function>socket_last_error</function> does not clear the error code, use
      <function>socket_clear_error</function> for this purpose.
     </para>
    </note>
   </refsect1>
  </refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->