zoukankan      html  css  js  c++  java
  • PHP Socket Server端例子

     1 */本文章提供在php教程中socket相关函数的实例,如果创建socket 接受一个socket连接 写入一个socket 初始化连接等操作。*/
     2 $ip="127.0.0.1"; //定义ip地址
     3 $port=1000; //定义端口
     4 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket
     5 $bind=socket_bind($socket,$ip,$prot); //绑定一个socket
     6 $listen=socket_listen($socket); //监听socket
     7 $msg=socket_accept($socket); //接受一个socket连接
     8 $welcome="欢迎来到php服务/n"; //定义字符串
     9 socket_write($msg,$welcome,strlen($welcome)); //写入一个socket
    10 socket_close($socket); //关闭socket
    11 
    12  
    13 
    14 $ip="127.0.0.1"; //定义ip地址
    15 $port=1000; //定义端口
    16 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket
    17 socket_clear_error($socket); //清空socket错误信息
    18 socket_close($socket); //关闭socket
    19 
    20  
    21 
    22 $sockets=array(); //定义一个数组
    23 
    24 if(!socket_create_pair(af_unix,sock_stream,0,$sockets)) //如果socket没有成功创建
    25 {
    26 echo socket_strerror(socket_last_error()); //输出错误信息
    27 }
    28 
    29 if(!socket_write($sockets[0],"abcdef123n",strlen("abcdef123n"))) //如果执行socket写失败
    30 {
    31 cho socket_strerror(socket_last_error()); //输出错误信息
    32 }
    33 if(!$data=socket_read($sockets[1],strlen("abcdef123n"),php_binary_read)) //如果读取信息失败
    34 {
    35 echo socket_strerror(socket_last_error()); //输出错误信息
    36 }
    37 var_dump($data); //输出socket数据信息
    38 
    39 socket_close($sockets[0]); //关闭socket1
    40 socket_close($sockets[1]); //关闭socket2
    41 
    42  
    43 
    44 $ip="127.0.0.1"; //定义ip地址
    45 $port=1000; //定义端口
    46 $socket=socket_create(af_inet,sock_stream,sol_tcp); //创建socket
    47 socket_set_nonblock($socket); //设置不锁定状态
    48 socket_connect($socket,$ip,$port); //初始化连接
    49 socket_set_block($sock); //锁定socket
    50 switch(socket_select($r=array($socket),$w=array($socket),$f=array($socket),5))
    51 {
    52 case 2:
    53 echo "连接被拒绝!n";
    54 break;
    55 case 1:
    56 echo "成功连接n";
    57 break;
    58 case 0:
    59 echo "连接超时n";
    60 break;
    61 }
    62 
    63  
    64 
    65 
    66 class socketlistener extends socket
    67 {
    68 function __construct($port=null) //定义__construct方法
    69 {
    70 $this->stream=@socket_create_listen($port?$port:port); //打开端口接受连接
    71 }
    72 function isactive() //定义isactive方法
    73 {
    74 if($this->stream) //如果有连接
    75 {
    76 return true; //返回真值
    77 }
    78 else //无连接
    79 {
    80 return false; //返回假值
    81 }
    82 }
  • 相关阅读:
    关于python的open函数encoding的入参
    控制台输出的log加颜色
    logging把log写到控制台
    合并两个list里的字典
    关于字典数组和元组合并
    python字典做入参调用时要写成**K这种形式
    python在循环中将含变量的字典加到列表中(问题:如果写法不当,会导致最后赋值的变量覆盖列表中前面赋值的变量)
    给定列表,按照列表内容获取excel指定列名下的内容
    selenum报错element is not attached to the page document
    python selenium获取input输入框中的值
  • 原文地址:https://www.cnblogs.com/y0umer/p/2772582.html
Copyright © 2011-2022 走看看