PHP基于socket实现的简单客户端和服务端通讯功能示例

 更新时间:2017年07月10日 10:12:12   作者:a771948524  
这篇文章主要介绍了PHP基于socket实现的简单客户端和服务端通讯功能,可实现服务端接收客户端发送的字符串进行翻转操作后返回客户端的功能,需要的朋友可以参考下

本文实例讲述了PHP基于socket实现的简单客户端和服务端通讯功能。分享给大家供大家参考,具体如下:

服务器端:

<?php
  set_time_limit(0);
  $host="localhost";
  $port=1001;
  //创建一个连接
  $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
  //绑定socket到端口
  $result=socket_bind($socket,$host,$port) or die("cannot bind port to socket\n");
  //开始监听这个端口
  $result=socket_listen($socket,4) or die("could not set up socket listen\n");
  //接受连接,另一个socket来处理通信
  $msgsock=socket_accept($socket) or die("cannot accept incoming connection\n");
  if($msgsock){
    echo date("Y-m-d H:i:s D a");
  }
  //读取客户端发送过来的信息
  $input=socket_read($msgsock,1024) or die("cannot read input\n");
  $input=trim($input);
  $output=strrev($input)."顺序反过来了吧\n";
  //对接收到的信息进行处理,然后返回到客户端
  socket_write($msgsock,$output,strlen($output)) or die("cannot write");
  //关闭socket连接
  socket_close($msgsock);
  socket_close($socket);
?>

客户端:

<?php
  set_time_limit(0);
  $host="localhost";
  $port=1001;
  //创建一个socket
  $socket=socket_create(AF_INET,SOCK_STREAM,SOL_TCP)or die("cannot create socket\n");
  $conn=socket_connect($socket,$host,$port) or die("cannot connect server\n");
  if($conn){echo "client connect ok!";}
  socket_write($socket,"hello world!") or die("cannot write data\n");
  $buffer=socket_read($socket,1024,PHP_NORMAL_READ);
  if($buffer){
    echo "response was:".$buffer."\n";
  }
  socket_close($socket);
?>

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

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

相关文章

  • PHP fgetcsv 定义和用法(附windows与linux下兼容问题)

    PHP fgetcsv 定义和用法(附windows与linux下兼容问题)

    PHP fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段。与PHP fgets() 类似,不同的是 PHP fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组
    2012-05-05
  • 关于PHP求解三数之和问题详析

    关于PHP求解三数之和问题详析

    这篇文章主要给大家介绍了关于PHP求解三数之和问题的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • PHP设计模式之迭代器模式的深入解析

    PHP设计模式之迭代器模式的深入解析

    本篇文章是对PHP设计模式中的迭代器模式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • PHP使用TCPDF处理pdf

    PHP使用TCPDF处理pdf

    TCPDF是一个开源的PHP库,用于创建和处理PDF文件,这篇文章主要为大家详细介绍了PHP如何使用TCPDF进行pdf的相关操作,需要的小伙伴可以参考下
    2023-12-12
  • PHP编程基本语法快速入门手册

    PHP编程基本语法快速入门手册

    这篇文章主要介绍了PHP编程基本语法快速入门的一些知识,包括PHP的数组与循环语句等基础知识点,需要的朋友可以参考下
    2016-01-01
  • PHP基于数组实现的堆栈和队列功能示例

    PHP基于数组实现的堆栈和队列功能示例

    这篇文章主要介绍了PHP基于数组实现的堆栈和队列功能,结合实例形式分析了php基于数组的array_push()、array_pop()、array_shift()等函数实现堆栈与队列的入栈、出栈以及队列的添加、删除等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • PHP 中的面向对象编程:通向大型 PHP 工程的办法

    PHP 中的面向对象编程:通向大型 PHP 工程的办法

    PHP 中的面向对象编程:通向大型 PHP 工程的办法...
    2006-12-12
  • 如何让PHP编码更加好看利于阅读

    如何让PHP编码更加好看利于阅读

    在本篇文章里小编给大家分享了关于如何让PHP编码更加好看利于阅读的方法和习惯,需要的朋友们可以学习下。
    2019-05-05
  • 收集的DedeCMS一些使用经验

    收集的DedeCMS一些使用经验

    收集的DedeCMS一些使用经验...
    2007-03-03
  • PHP实现多维数组多字段自定义排序

    PHP实现多维数组多字段自定义排序

    这篇文章主要介绍了PHP实现多维数组多字段自定义排序,通过将待排序数组的各个数组的$field保存在一维数组fieldArr中,在传入array_multisort中参与排序,相当于对$field一维数组的排序,而后根据排序后的key重新构建传入的待排序数组,需要的朋友可以参考下
    2023-10-10

最新评论