<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>潘锦的空间 &#187; socket</title>
	<atom:link href="https://www.phppan.com/tag/socket/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.phppan.com</link>
	<description>SaaS SaaS架构 团队管理 技术管理 技术架构 PHP 内核 扩展 项目管理</description>
	<lastBuildDate>Sat, 25 Apr 2026 00:56:17 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=3.9.40</generator>
	<item>
		<title>PHP的Socket编程</title>
		<link>https://www.phppan.com/2011/02/php-socket/</link>
		<comments>https://www.phppan.com/2011/02/php-socket/#comments</comments>
		<pubDate>Mon, 21 Feb 2011 01:10:33 +0000</pubDate>
		<dc:creator><![CDATA[admin]]></dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[进程通信]]></category>

		<guid isPermaLink="false">http://www.phppan.com/?p=1268</guid>
		<description><![CDATA[PHP的Socket编程 计算机进程可以使用socket和其他进程通信，通过socket，其他进程的位置是透明 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>PHP的Socket编程</p>
<p>计算机进程可以使用socket和其他进程通信，通过socket，其他进程的位置是透明的。这些进程可以在同一台计算机上也可以在不同的计算机上。</p>
<p>在PHP中，socket是以扩展的方式加载的，如果无法使用socket相关函数，请确认是否有打开此扩展。<br />
下面我们以一个面向连接的客户端和服务器的简单实现说明一些函数的使用，在此之后，简单介绍在PHP的内部是如何实现这些函数的。</p>
<p><strong>【客户端实现】</strong><br />
如下所示代码为客户端的实现代码：</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">set_time_limit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;127.0.0.1&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$port</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2046</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$socket</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_create</span><span style="color: #009900;">&#40;</span>AF_INET<span style="color: #339933;">,</span> SOCK_STREAM<span style="color: #339933;">,</span> SOL_TCP<span style="color: #009900;">&#41;</span>or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not create	socket<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 创建一个Socket</span>
&nbsp;
<span style="color: #000088;">$connection</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_connect</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #339933;">,</span> <span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$port</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not connet server<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>    <span style="color: #666666; font-style: italic;">//  连接</span>
&nbsp;
<span style="color: #990000;">socket_write</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;time&quot;</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Write failed<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 数据传送 向服务器发送消息</span>
&nbsp;
<span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$buffer</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_read</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1024</span><span style="color: #339933;">,</span> PHP_NORMAL_READ<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">echo</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Data sent was: time<span style="color: #000099; font-weight: bold;">\n</span>Response was:&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$buffer</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #990000;">socket_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>客户端首先创建一个socket，并且连接服务器。向服务器发送一个time的消息，等待服务器返回信息，读取服务器的信息并输出。</p>
<p><strong>【服务器实现】</strong></p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="php" style="font-family:monospace;">&nbsp;
<span style="color: #990000;">set_time_limit</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$host</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;127.0.0.1&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$port</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">2046</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000088;">$socket</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_create</span><span style="color: #009900;">&#40;</span>AF_INET<span style="color: #339933;">,</span> SOCK_STREAM<span style="color: #339933;">,</span> SOL_TCP<span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not create	socket<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 创建一个Socket</span>
&nbsp;
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_bind</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #339933;">,</span> <span style="color: #000088;">$host</span><span style="color: #339933;">,</span> <span style="color: #000088;">$port</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not bind tosocket<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//绑定Socket到端口</span>
&nbsp;
<span style="color: #000088;">$result</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_listen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">3</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not set up socket listener<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 开始监听连接</span>
&nbsp;
<span style="color: #000088;">$spawn</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_accept</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not accept incoming connection<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 处理通信</span>
&nbsp;
<span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #990000;">socket_read</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$spawn</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">1024</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not read input<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// 数据传送 获得客户端的输入</span>
&nbsp;
<span style="color: #000088;">$input</span> <span style="color: #339933;">=</span> <span style="color: #990000;">trim</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'input:'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$input</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$input</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'time'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Y-m-d H:i:s&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//处理客户端输入并返回结果</span>
<span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span>
    <span style="color: #000088;">$output</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;input error <span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">//处理客户端输入并返回结果</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">&quot;output:&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">//	数据传送 向客户端写入返回结果</span>
<span style="color: #990000;">socket_write</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$spawn</span><span style="color: #339933;">,</span> <span style="color: #000088;">$output</span><span style="color: #339933;">,</span> <span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$output</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> or <span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Could not write output<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
&nbsp;
<span style="color: #666666; font-style: italic;">// 关闭sockets</span>
<span style="color: #990000;">socket_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$spawn</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #990000;">socket_close</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$socket</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>服务器端创建一个socket，并且绑定端口，监听连接，读取客户端的数据，根据客户端的输入返回不同的值，最后写入数据到客户端。关闭socket。<br />
只是这个服务器不能接受多个连接并且只完成一个操作<br />
<strong>【PHP内部源码说明】</strong><br />
从PHP内部源码来看，PHP提供的socket编程是在socket，bind,listen等函数外添加了一个层，让其更加简单和方便调用。但是一些业务逻辑的程序还是需要程序员自己去实现。<br />
下面我们以socket_create的源码实现来说明PHP的内部实现。<br />
前面我们有说到php的socket是以扩展的方式实现的。在源码的ext目录，我们找到sockets目录。这个目录存放了PHP对于socket的实现。直接搜索PHP_FUNCTION(socket_create)，在sockets.c文件中找到了此函数的实现。如下所示代码：</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* {{{ proto resource socket_create(int domain, int type, int protocol) U
   Creates an endpoint for communication in the domain specified by domain, of type specified by type */</span>
PHP_FUNCTION<span style="color: #009900;">&#40;</span>socket_create<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
        <span style="color: #993333;">long</span>            arg1<span style="color: #339933;">,</span> arg2<span style="color: #339933;">,</span> arg3<span style="color: #339933;">;</span>
        php_socket      <span style="color: #339933;">*</span>php_sock <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>php_socket<span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span>emalloc<span style="color: #009900;">&#40;</span><span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>php_socket<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>zend_parse_parameters<span style="color: #009900;">&#40;</span>ZEND_NUM_ARGS<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> TSRMLS_CC<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;lll&quot;</span><span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>arg1<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>arg2<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>arg3<span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> FAILURE<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                efree<span style="color: #009900;">&#40;</span>php_sock<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">return</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>arg1 <span style="color: #339933;">!=</span> AF_UNIX
<span style="color: #339933;">#if HAVE_IPV6</span>
                <span style="color: #339933;">&amp;&amp;</span> arg1 <span style="color: #339933;">!=</span> AF_INET6
<span style="color: #339933;">#endif</span>
                <span style="color: #339933;">&amp;&amp;</span> arg1 <span style="color: #339933;">!=</span> AF_INET<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                php_error_docref<span style="color: #009900;">&#40;</span>NULL TSRMLS_CC<span style="color: #339933;">,</span> E_WARNING<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;invalid socket domain [%ld] specified for argument 1, assuming AF_INET&quot;</span><span style="color: #339933;">,</span> arg1<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                arg1 <span style="color: #339933;">=</span> AF_INET<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>arg2 <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                php_error_docref<span style="color: #009900;">&#40;</span>NULL TSRMLS_CC<span style="color: #339933;">,</span> E_WARNING<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;invalid socket type [%ld] specified for argument 2, assuming SOCK_STREAM&quot;</span><span style="color: #339933;">,</span> arg2<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                arg2 <span style="color: #339933;">=</span> SOCK_STREAM<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        php_sock<span style="color: #339933;">-&gt;</span>bsd_socket <span style="color: #339933;">=</span> socket<span style="color: #009900;">&#40;</span>arg1<span style="color: #339933;">,</span> arg2<span style="color: #339933;">,</span> arg3<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        php_sock<span style="color: #339933;">-&gt;</span>type <span style="color: #339933;">=</span> arg1<span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>IS_INVALID_SOCKET<span style="color: #009900;">&#40;</span>php_sock<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                SOCKETS_G<span style="color: #009900;">&#40;</span>last_error<span style="color: #009900;">&#41;</span> <span style="color: #339933;">=</span> errno<span style="color: #339933;">;</span>
                php_error_docref<span style="color: #009900;">&#40;</span>NULL TSRMLS_CC<span style="color: #339933;">,</span> E_WARNING<span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Unable to create socket [%d]: %s&quot;</span><span style="color: #339933;">,</span> errno<span style="color: #339933;">,</span> php_strerror<span style="color: #009900;">&#40;</span>errno TSRMLS_CC<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                efree<span style="color: #009900;">&#40;</span>php_sock<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
                RETURN_FALSE<span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
&nbsp;
        php_sock<span style="color: #339933;">-&gt;</span>error <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
        php_sock<span style="color: #339933;">-&gt;</span>blocking <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
                                                                                                                                           <span style="color: #0000dd;">1257</span><span style="color: #339933;">,</span><span style="color: #0000dd;">1</span><span style="color: #339933;">-</span><span style="color: #0000dd;">8</span>      <span style="color: #0000dd;">61</span><span style="color: #339933;">%</span>
        ZEND_REGISTER_RESOURCE<span style="color: #009900;">&#40;</span>return_value<span style="color: #339933;">,</span> php_sock<span style="color: #339933;">,</span> le_socket<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #808080; font-style: italic;">/* }}} */</span></pre></td></tr></table></div>

<p>从整个函数的实现看，程序基本上是一个错误和异常处理。PHP本身引入了php_socket结构体，其创建时调用socket函数实现。</p>
<p>PS:关于PHP的网络编程，我们会在TIPI系列文章中作详细的说明。<br />
<strong>【socket函数】</strong><br />
函数名      描述<br />
socket_accept()    接受一个Socket连接<br />
socket_bind()     把socket绑定在一个IP地址和端口上<br />
socket_clear_error()   清除socket的错误或最后的错误代码<br />
socket_close()     关闭一个socket资源<br />
socket_connect()    开始一个socket连接<br />
socket_create_listen()   在指定端口打开一个socket监听<br />
socket_create_pair()   产生一对没有差别的socket到一个数组里<br />
socket_create()    产生一个socket，相当于产生一个socket的数据结构<br />
socket_get_option()    获取socket选项<br />
socket_getpeername()   获取远程类似主机的ip地址<br />
socket_getsockname()   获取本地socket的ip地址<br />
socket_iovec_add()    添加一个新的向量到一个分散/聚合的数组<br />
socket_iovec_alloc()   这个函数创建一个能够发送接收读写的iovec数据结构<br />
socket_iovec_delete()   删除一个已分配的iovec<br />
socket_iovec_fetch()   返回指定的iovec资源的数据<br />
socket_iovec_free()    释放一个iovec资源<br />
socket_iovec_set()    设置iovec的数据新值<br />
socket_last_error()    获取当前socket的最后错误代码<br />
socket_listen()     监听由指定socket的所有连接<br />
socket_read()     读取指定长度的数据<br />
socket_readv()     读取从分散/聚合数组过来的数据<br />
socket_recv()     从socket里结束数据到缓存<br />
socket_recvfrom()    接受数据从指定的socket，如果没有指定则默认当前socket<br />
socket_recvmsg()    从iovec里接受消息<br />
socket_select()     多路选择<br />
socket_send()     这个函数发送数据到已连接的socket<br />
socket_sendmsg()    发送消息到socket<br />
socket_sendto()    发送消息到指定地址的socket<br />
socket_set_block()    在socket里设置为块模式<br />
socket_set_nonblock()   socket里设置为非块模式<br />
socket_set_option()    设置socket选项<br />
socket_shutdown()    这个函数允许你关闭读、写、或指定的socket<br />
socket_strerror()    返回指定错误号的周详错误<br />
socket_write()     写数据到socket缓存<br />
socket_writev()    写数据到分散/聚合数组</pre>
</pre>
]]></content:encoded>
			<wfw:commentRss>https://www.phppan.com/2011/02/php-socket/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
