php socket通信机制实例说明与代码
admin
2023-07-01 17:44:33
0次

 php socket通信机制实例说明与代码----什么是socket 所谓socket一般也称作"套接字",用于描述ip地址和端口,是一个通讯链的句柄。使用程序一般经过"套接字"向network发出请求也许应对network请求。说白了就是一种通讯机制。它类似于银行,电信啊这一些部分的电话客服业务单元。您打电话的时候,那边会调设置一个人回答您的问题,客服业务单元就相当于socket的服务器端了,您这边呢就相当于用户端了,在和您通话完结前,假设有人在想找和您通话的那个谈话是不可能的,由于您在和他通讯,当然客服业务单元的电话更换机也不会重复调配。


  下面我将举例子来说明一下,socket是怎样工作的。假设您是基于使用层开发的人员并不一定要理解原理,然而能晓得那是更好了。网络有对于socket的php api。下下来用就行了。


  socket服务器server.php // 构建server端socket


  $tcp = getprotobyname("tcp");


  $socket = socket_create(af_inet, sock_stream, $tcp);


  socket_bind($socket, '127.0.0.1', 10008); //绑定要监听的端口


  socket_listen($socket); //监听端口


  //初始化一个DATA,和用户端通讯


  $buffer = "connect";


  while (true) { // 接受一个socket联接


  $connection = socket_accept($socket);


  if(!$connection){


  echo "connect fail";


  }else{


  echo "socket connectedn"; // 向用户端传送一个信息DATA


  if ($buffer != "") {


  echo "send data to clientn";


  socket_write($connection, $buffer . "n");


  echo "wrote to socketn";


  } else {


  echo "no data in the buffern" ;


  } // 从用户端获得信息


  while ($data = @socket_read($connection, 1024, php_normal_read)) {


  printf("buffer: " . $data . "n"); //获得信息给用户端一个反响


  socket_write($connection, "information receivedn");


  }


  }


  socket_close($connection); //封锁 socket


  printf("closed the socketn");


  }


  ?>


  另外注意,socket用户端client.php


  // 构建用户端的socet联接


  $socket = socket_create(af_inet, sock_stream, sol_tcp);


  $connection = socket_connect($socket, '127.0.0.1', 10008); //联接服务器端socket


  while ($buffer = @socket_read($socket, 1024, php_normal_read)) { //服务端告诉用户端,自身的形态


  if (preg_match("/not connect/",$buffer)) {


  echo "don`t connectn";


  break;


  } else { //服务器传来信息


  echo "buffer data: " . $buffer . "n";


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...