当前位置:首页 > PHP教程 > php应用 > 列表

php利用stream_socket_server与stream_socket_client

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-06 14:47:27 浏览: 评论:0 
  1. //以上php为服务端,它将监听消息,直到按下:ctrl+c 
  2. while(true) 
  3.   //每5秒执行一次 
  4.   receive_message('127.0.0.1','85',5); 
  5. //自定义函数用于获取消息 
  6. function receive_message($ips教程erver,$portnumber,$nbsecondsidle
  7.   //创建socket 
  8.   $socket=stream_socket_server('tcp://'.$ipserver.':'.$portnumber$errno$errstr); 
  9.   if(!$socket
  10.   { 
  11.     //如果创建socket失败输出内容 
  12.     echo "$errstr ($errno)<br />n"
  13.   } 
  14.   else 
  15.   { 
  16.     //如果创建成功则接受socket连接并获取信息 
  17.     while($conn=@stream_socket_accept($socket,$nbsecondsidle)) 
  18.     { 
  19.       $message=read($conn,1024); 
  20.       echo 'i have received that : '.$message
  21.       fputs ($conn"okn"); 
  22.       fclose ($conn); 
  23.     } 
  24.     fclose($socket); 
  25.   } 
  26. //server结束 
  27. ?> 
  28. <?php 
  29. //以下代码为客户端,它将发送信息并读取回复 
  30. send_message('127.0.0.1','85','message to send...'); 
  31. //自定义函数,发送信息 
  32. function send_message($ipserver,$portserver,$message
  33.   $fp=stream_socket_client("tcp://$ipserver:$portserver"$errno$errstr); 
  34.   if(!$fp
  35.   { 
  36.     echo "erreur : $errno - $errstr<br />n"
  37.   } 
  38.   else 
  39.   { 
  40.     fwrite($fp,"$messagen"); 
  41.     $response =  fread($fp, 4); 
  42.     if($response != "okn"
  43.     { 
  44.       echo 'the command couldn't be executed...ncause :'.$response
  45.     } 
  46.     else 
  47.     { 
  48.       echo 'execution successfull...'
  49.     } 
  50.     fclose($fp); 
  51.   } 

Tags: stream_socket_server

分享到: