加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP如何实现简单的Socket

发布时间:2022-07-29 14:51:42 所属栏目:PHP教程 来源:互联网
导读:PHP如何实现简单的Socket 首先使用PHP制作的Socket服务端,其主要是设置Socket的IP地址及端口号;然后监听端口,如果有客户端连接的话,则接收连接请求和数据,最后处理数据并且返回数据即可。 //确保在连接客户端时不会超时 set_time_limit(0); $sock = soc
  PHP如何实现简单的Socket
 
  首先使用PHP制作的Socket服务端,其主要是设置Socket的IP地址及端口号;然后监听端口,如果有客户端连接的话,则接收连接请求和数据,最后处理数据并且返回数据即可。
 
  //确保在连接客户端时不会超时
 
  set_time_limit(0);
 
  $sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP) or die("socket_create() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
 
  //阻塞模式
 
  socket_set_block($sock) or die("socket_set_block() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
 
  //绑定到socket端口
 
  $result = socket_bind($sock, $address, $port) or die("socket_bind() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
 
  //开始监听
 
  $result = socket_listen($sock, 4) or die("socket_listen() 失败的原因是:" . socket_strerror(socket_last_error()) . "/n");
 
  echo "OKnBinding the socket on $address:$port ... ";
 
  echo "OKnNow ready to accept connections.nListening on the socket ... n";
 
  do { // never stop the daemon
 
   //它接收连接请求并调用一个子连接Socket来处理客户端和服务器间的信息
 
   $msgsock = socket_accept($sock) or die("socket_accept() failed: reason: " . socket_strerror(socket_last_error()) . "/n");
 
 
   //数据传送 向客户端写入返回结果
 
   $msg = "welcome n";
 
   socket_write($msgsock, $msg, strlen($msg)) or die("socket_write() failed: reason: " . socket_strerror(socket_last_error()) ."/n");
 
   //一旦输出被返回到客户端,父/子socket都应通过socket_close($msgsock)函数来终止
 
   socket_close($msgsock);
 
  } while (true);
 
  socket_close($sock);

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读