<HTML ><HEAD ><TITLE >socket_accept</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="PHP Manual" HREF="index.html"><LINK REL="UP" TITLE="Socket functions" HREF="ref.sockets.html"><LINK REL="PREVIOUS" TITLE="Socket functions" HREF="ref.sockets.html"><LINK REL="NEXT" TITLE="socket_bind" HREF="function.socket-bind.html"><META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=ISO-8859-1"></HEAD ><BODY CLASS="refentry" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" >PHP Manual</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="ref.sockets.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="function.socket-bind.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><H1 ><A NAME="function.socket-accept" ></A >socket_accept</H1 ><DIV CLASS="refnamediv" ><A NAME="AEN87033" ></A ><P > (PHP 4 >= 4.1.0)</P >socket_accept -- Accepts a connection on a socket</DIV ><DIV CLASS="refsect1" ><A NAME="AEN87036" ></A ><H2 >Description</H2 >resource <B CLASS="methodname" >socket_accept</B > ( resource socket)<BR ></BR ><DIV CLASS="warning" ><P ></P ><TABLE CLASS="warning" BORDER="1" WIDTH="100%" ><TR ><TD ALIGN="CENTER" ><B >Warning</B ></TD ></TR ><TR ><TD ALIGN="LEFT" ><P >This function is <SPAN CLASS="emphasis" ><I CLASS="emphasis" >EXPERIMENTAL</I ></SPAN >. The behaviour of this function, the name of this function, and anything else documented about this function may change without notice in a future release of PHP. Use this function at your own risk.</P ></TD ></TR ></TABLE ></DIV ><P > After the socket <TT CLASS="parameter" ><I >socket</I ></TT > has been created using <A HREF="function.socket-create.html" ><B CLASS="function" >socket_create()</B ></A >, bound to a name with <A HREF="function.socket-bind.html" ><B CLASS="function" >socket_bind()</B ></A >, and told to listen for connections with <A HREF="function.socket-listen.html" ><B CLASS="function" >socket_listen()</B ></A >, this function will accept incoming connections on that socket. Once a successful connection is made, a new socket resource is returned, which may be used for communication. If there are multiple connections queued on the socket, the first will be used. If there are no pending connections, <B CLASS="function" >socket_accept()</B > will block until a connection becomes present. If <TT CLASS="parameter" ><I >socket</I ></TT > has been made non-blocking using <A HREF="function.socket-set-blocking.html" ><B CLASS="function" >socket_set_blocking()</B ></A > or <A HREF="function.socket-set-nonblock.html" ><B CLASS="function" >socket_set_nonblock()</B ></A >, <TT CLASS="constant" ><B >FALSE</B ></TT > will be returned. </P ><P > The socket resource returned by <B CLASS="function" >socket_accept()</B > may not be used to accept new connections. The original listening socket <TT CLASS="parameter" ><I >socket</I ></TT >, however, remains open and may be reused. </P ><P > Returns a new socket resource on success, or <TT CLASS="constant" ><B >FALSE</B ></TT > on error. The actual error code can be retrieved by calling <A HREF="function.socket-last-error.html" ><B CLASS="function" >socket_last_error()</B ></A >. This error code may be passed to <A HREF="function.socket-strerror.html" ><B CLASS="function" >socket_strerror()</B ></A > to get a textual explanation of the error. </P ><P > See also <A HREF="function.socket-bind.html" ><B CLASS="function" >socket_bind()</B ></A >, <A HREF="function.socket-connect.html" ><B CLASS="function" >socket_connect()</B ></A >, <A HREF="function.socket-listen.html" ><B CLASS="function" >socket_listen()</B ></A >, <A HREF="function.socket-create.html" ><B CLASS="function" >socket_create()</B ></A >, and <A HREF="function.socket-strerror.html" ><B CLASS="function" >socket_strerror()</B ></A >. </P ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="ref.sockets.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="function.socket-bind.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Socket functions</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="ref.sockets.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >socket_bind</TD ></TR ></TABLE ></DIV ></BODY ></HTML >