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+ajax实现图片文件上传功能实例

    php+ajax实现图片文件上传功能实例

    目前常用的异步文件上传功能有几种,比较多见的如使用iframe框架形式,ajax功能效果,以及flash+php功能,需要的朋友可以参考下
    2014-06-06
  • 迁移PHP版本到PHP7

    迁移PHP版本到PHP7

    这篇文章主要介绍了迁移PHP版本到PHP7的方法,需要的朋友可以参考下
    2015-02-02
  • PHP 截取字符串专题集合

    PHP 截取字符串专题集合

    现在很多情况下,需要用到截取字符串功能,不够由于gb2312与utf-8的编码问题,需要区别对待,下面是具体的实现方法并从一些比较成熟的系统中扒下的代码。
    2010-08-08
  • PHP 5.0对象模型深度探索之属性和方法

    PHP 5.0对象模型深度探索之属性和方法

    一个对象实例的属性是变量,就像PHP的其他变量一样。但是你必须使用->运算符来引用它们。不需要在属性前使用美元符$。
    2008-03-03
  • PHP处理excel cvs表格的方法实例介绍

    PHP处理excel cvs表格的方法实例介绍

    PHP处理excel cvs表格想必有很多朋友对此还是很陌生的吧,下面以实例为大家介绍下,感兴趣的朋友可以参考下哈,希望对你有所帮助
    2013-05-05
  • PHP双向链表定义与用法示例

    PHP双向链表定义与用法示例

    这篇文章主要介绍了PHP双向链表定义与用法,涉及php使用双向链表类封装双向链表定义、读取、删除、插入等相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • PHP命名空间namespace及use的简单用法分析

    PHP命名空间namespace及use的简单用法分析

    这篇文章主要介绍了PHP命名空间namespace及use的简单用法,结合实例形式分析了php命名空间的功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-08-08
  • php修改指定文件后缀的方法

    php修改指定文件后缀的方法

    这篇文章主要介绍了php修改指定文件后缀的方法,文中的函数foreachDir可实现文件目录的检测、读取、打开及文件后缀替换等功能,是非常实用的技巧,需要的朋友可以参考下
    2014-09-09
  • php文件上传的两种实现方法

    php文件上传的两种实现方法

    这篇文章主要为大家详细介绍了两种php文件上传的实现方法,感兴趣的朋友可以参考一下
    2016-04-04
  • PHP使用PHPexcel导入导出数据的方法

    PHP使用PHPexcel导入导出数据的方法

    这篇文章主要介绍了PHP使用PHPexcel导入导出数据的方法,以实例形式较为详细的分析了PHP使用PHPexcel实现数据的导入与导出操作相关技巧,需要的朋友可以参考下
    2015-11-11

最新评论