全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

PHP Socket网络操作类定义与用法示例

本文实例讲述了PHP Socket网络操作类定义与用法。分享给大家供大家参考,具体如下:

web前端测试:

<html>
<head>
  <title>test</title>
  <script>
  g_xmlHttpReq = new XMLHttpRequest();
  function onReplyCallback()
  {
    if(g_xmlHttpReq.readyState==4 && g_xmlHttpReq.status==200)
    {
      alert(g_xmlHttpReq.responseText);
    }
  }
  function on_stop_service()
  {
    var cmd = document.getElementById("inCmd").value;
    g_xmlHttpReq.open("GET","./service/main.php?cmd=" + cmd,true);
    g_xmlHttpReq.onreadystatechange=onReplyCallback;
    g_xmlHttpReq.send(null);
  }
  </script>
</head>
<body>
<input type="text" id="inCmd">
<hr>
<button onclick="on_stop_service()">关闭服务</button>
</body>
</html>

mysocket.php:

<?php
class Connector
{
  public static $instance=null;
  public $conn;
  private function __construct()
  {
      set_time_limit(0);
      $ip = '192.168.238.1';
      $port = 8888;
      if(($this->conn = socket_create(AF_INET,SOCK_STREAM,SOL_TCP)) < 0)
      {
        echo "socket_create() 失败的原因是:".socket_strerror($this->conn)."\n";
      }
      $result = socket_connect($this->conn, $ip, $port);
      if ($result < 0) {
        echo "socket_connect() failed.\nReason: ($result) " . socket_strerror($result) . "\n";
      }else {
        echo "连接OK\n";
      }
  }
  public static function getInstance()
  {
    if(is_null(self::$instance))
    {
      self::$instance = new Connector;
    }
    return self::$instance;
  }
  public function sendMsg($msg)
  {
    socket_write($this->conn,$msg);
  }
  public function getMsg()
  {
    $clients = array($this->conn);
    while(true)
    {
      $read = $clients;
      $wrSet = NULL;
      $errSet = NULL;
      if(socket_select($read, $wrSet,$errSet, 3) < 1)
      {
        continue;
      }
      foreach($read as $read_sock)
      {
        $data = @socket_read($read_sock,1024,PHP_BINARY_READ);
        socket_close($this->conn);
        return $data;
      }
    }
  }
}
?>

main.php(调用场所):

<?php
require_once('mysocket.php');
$con = Connector::getInstance();
$req = $_GET['cmd'];
$con->sendMsg($req);
$ret = $con->getMsg();
echo $ret;
?>

应用说明:

客户端ajax发起请求调用Php,然后php借助socket进一步发起请求给C++模块。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php socket用法总结》、《php字符串(string)用法总结》、《PHP数学运算技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《PHP网络编程技巧总结》

希望本文所述对大家PHP程序设计有所帮助。


# PHP  # Socket  # 网络操作类  # php whois查询API制作方法  # 用PHP查询域名状态whois的类  # PHP实现域名whois查询的代码(数据源万网、新网)  # php查询whois信息的方法  # 用PHP实现标准的IP Whois查询  # PHP+Ajax 检测网络是否正常实例详解  # php判断是否连接上网络的方法实例详解  # PHP使用CURL实现对带有验证码的网站进行模拟登录的方法  # 使用PHP curl模拟浏览器抓取网站信息  # PHP whois查询类定义与用法示例  # 程序设计  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 更多关于  # 所述  # 面向对象  # 客户端  # 操作技巧  # 编程技巧  # 讲述了  # main  # service  # open  # true 


相关文章: 建站之星2.7模板快速切换与批量管理功能操作指南  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  ,柠檬视频怎样兑换vip?  如何高效利用亚马逊云主机搭建企业网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站之星后台密码遗忘?如何快速找回?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  文字头像制作网站推荐软件,醒图能自动配文字吗?  建站之星如何保障用户数据免受黑客入侵?  建站主机系统SEO优化与智能配置核心关键词操作指南  网站制作模板下载什么软件,ppt模板免费下载网站?  建站之星安全性能如何?防护体系能否抵御黑客入侵?  韩国服务器如何优化跨境访问实现高效连接?  如何选择CMS系统实现快速建站与SEO优化?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  代购小票制作网站有哪些,购物小票的简要说明?  如何在云服务器上快速搭建个人网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  jQuery 常见小例汇总  如何快速生成橙子建站落地页链接?  视频网站制作教程,怎么样制作优酷网的小视频?  台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  北京的网站制作公司有哪些,哪个视频网站最好?  长沙企业网站制作哪家好,长沙水业集团官方网站?  h5网站制作工具有哪些,h5页面制作工具有哪些?  ,购物网站怎么盈利呢?  如何选择服务器才能高效搭建专属网站?  建站之星如何快速更换网站模板?  如何高效配置IIS服务器搭建网站?  如何规划企业建站流程的关键步骤?  建站之星如何防范黑客攻击与数据泄露?  建站之星与建站宝盒如何选择最佳方案?  建站之星价格显示格式升级,你的预算足够吗?  建站之星导航配置指南:自助建站与SEO优化全解析  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站主机选虚拟主机还是云服务器更好?  c# await 一个已经完成的Task会发生什么  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  魔毅自助建站系统:模板定制与SEO优化一键生成指南  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  建站主机是否属于云主机类型?  html制作网站的步骤有哪些,iapp如何添加网页?  建站主机核心功能解析:服务器选择与网站搭建流程指南  如何通过山东自助建站平台快速注册域名?  如何在宝塔面板创建新站点?  如何在阿里云高效完成企业建站全流程?  b2c电商网站制作流程,b2c水平综合的电商平台?  西安制作网站公司有哪些,西安货运司机用的最多的app或者网站是什么? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。