PHP SOCKET编程!

php中文网
发布: 2016-06-23 14:34:30
原创
871人浏览过

server.php

 

立即学习PHP免费学习笔记(深入)”;

代码

                      <p class="sycode">                          <?      php      //      确保在连接客户端时不会超时            set_time_limit      (      0      );      //      设置IP和端口号            $address      =      服务器自己的IP;      $port      =      端口号;      //      创建一个SOCKET            if      ((      $sock      =      socket_create(AF_INET      ,      SOCK_STREAM      ,      SOL_TCP))      <      0      ){       echo             "      socket_create() 失败的原因是:      "      .      socket_strerror(      $sock      )      .      "      <br>      "      ;}      //      绑定到socket端口            if      ((      $ret      =      socket_bind(      $sock      ,      $address      ,      $port      ))      <      0      ){       echo             "      socket_bind() 失败的原因是:      "      .      socket_strerror(      $ret      )      .      "      <br>      "      ;}      //      开始监听            if      ((      $ret      =      socket_listen(      $sock      ,      4      ))      <      0      ){       echo             "      socket_listen() 失败的原因是:      "      .      socket_strerror(      $ret      )      .      "      <br>      "      ;}      do       {       if       ((      $msgsock             =       socket_accept(      $sock      ))       <             0      ) {       echo             "      socket_accept() failed: reason:       "             .       socket_strerror(      $msgsock      )       .             "      \n      "      ;       break      ; }       //      发到客户端                   $msg             =      "      <font color=red>服务器端发送:欢迎进入服务器!</font><br>      "      ; socket_write(      $msgsock      ,             $msg      ,             strlen      (      $msg      ));       echo             "      读取客户端发来的信息<br>      "      ;       $buf      =      socket_read(      $msgsock      ,      8192      );        $talkback             =             "      收到的信息      $buf      <br>      "      ;       echo             $talkback      ;       if      (socket_write(      $msgsock      ,             $talkback      ,             strlen      (      $talkback      ))      <      0      ) {       echo             "      socket_write() failed: reason:       "             .       socket_strerror(      $msgsock      )       .             "      \n      "      ; }       else       {       echo             "      发送成功      "      ; }        echo             $buf      ; socket_close(      $msgsock      ); }       while       (      true      ); socket_close(      $sock      );      ?>                             </p>
登录后复制

CLIENT.PHP

 

立即学习PHP免费学习笔记(深入)”;

代码

                      <p class="sycode">                          <?      php      error_reporting      (      E_ALL      );      set_time_limit      (      0      );      echo             "      <h2>TCP/IP Connection</h2>\n      "      ;      $service_port             =       服务器端口;      $address             =             "      服务器IP      "      ;      $socket             =       socket_create(AF_INET      ,       SOCK_STREAM      ,       SOL_TCP);      if       (      $socket             <             0      ){       echo             "      socket_create() failed: reason:       "             .       socket_strerror(      $socket      )       .             "      \n      "      ;}      else      {       echo             "      OK.\n      "      ;}      echo             "      试图连接 '      $address      ' 端口 '      $service_port      '...<br>      "      ;      $result             =       socket_connect(      $socket      ,             $address      ,             $service_port      );      if       (      $result             <             0      ) {       echo             "      socket_connect() failed.\nReason: (      $result      )       "             .       socket_strerror(      $result      )       .             "      \n      "      ; }       else       {       echo             "      连接OK<br>      "      ; }      $in             =             "      发送到服务器的信息\r\n      "      ;      $in             .=             "      也是发到服务器的\r\n      "      ;      $out             =             ''      ;      $out1      =      ''      ;       if      (      !      socket_write(      $socket      ,             $in      ,             strlen      (      $in      ))) {       echo             "      socket_write() failed: reason:       "             .       socket_strerror(      $socket      )       .             "      \n      "      ; }       else       {       echo             "      发送到服务器信息成功!<br>      "      ; }       while      (      $out             =       socket_read(      $socket      ,             8192      )) {       echo             "      接收服务器回传信息成功!<br>      "      ;       echo             $out      ; }       echo             "      关闭SOCKET...<br>      "      ; socket_close(      $socket      );       echo             "      关闭OK<br>      "      ;      ?>                             </p>
登录后复制

 

立即学习PHP免费学习笔记(深入)”;

豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号