<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="PHP怎么实现Socket服务器（带示例代码）" id="card1">
<p> 游客</p><p>
标题:PHP怎么实现Socket服务器（带示例代码）<br/>
正文:<br/>
socket服务器的工作方式是这样的，不间断地运行以等待客户端的连接。一旦客户端连接上了，服务器就会将它添加到客户名单中，然后开始等待来自客户端的消息。不要走开，下面是完整的源代码：// Set time limit to indefinite execution <br/>set_time_limit (0); <br/> <br/>// Set the ip and port we will listen on <br/>$address = 'localhost'; <br/>$port = 10000; <br/>$max_clients = 10; <br/> <br/>// Array that will hold client information <br/>$client = Array(); <br/> <br/>// Create a TCP Stream socket <br/>$sock = socket_create(AF_INET, SOCK_STREAM, 0); <br/>// Bind the socket to an address/port <br/>socket_bind($sock, $address, $port) or die('Could not bind to address'); <br/>// Start listening for connections <br/>socket_listen($sock); <br/> <br/>echo &quot;Waiting for connections...\r\n&quot;; <br/> <br/>// Loop continuously <br/>while (true) { <br/>// Setup clients listen socket for reading <br/>$read[0] = $sock; <br/>for ($i = 0; $i &amp;lt; $max_clients; $i++) { <br/> if (isset($client[$i]['sock'])) <br/>  $read[$i + 1] = $client[$i]['sock']; <br/>} <br/>// Set up a blocking call to socket_select<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2239&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2239&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2239&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2239&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=2239&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=2239">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=2239">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>