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


Posted in PHP onJuly 10, 2017

本文实例讲述了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 相关文章推荐
一个php作的文本留言本的例子(一)
Oct 09 PHP
PHP版自动生成文章摘要
Jul 23 PHP
PHP parse_url 一个好用的函数
Oct 03 PHP
php中防止SQL注入的最佳解决方法
Apr 25 PHP
浅析PHP中的字符串编码转换(自动识别原编码)
Jul 02 PHP
php可应用于面包屑导航的递归寻找家谱树实现方法
Feb 02 PHP
php创建桌面快捷方式实现方法
Dec 31 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
Yii2 rbac权限控制之菜单menu实例教程
Apr 28 PHP
php使用PDO执行SQL语句的方法分析
Feb 16 PHP
PHP实现负载均衡的加权轮询方法分析
Aug 22 PHP
Laravel Reponse响应客户端示例详解
Sep 03 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 #PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
Jul 10 #PHP
form自动提交实例讲解
Jul 10 #PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 #PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
Jul 09 #PHP
详解php中serialize()和unserialize()函数
Jul 08 #PHP
PC端微信扫码支付成功之后自动跳转php版代码
Jul 07 #PHP
You might like
日本十大最佳动漫,全都是二次元的神级作品
2019/10/05 日漫
介绍一些PHP判断变量的函数
2012/04/24 PHP
php版淘宝网查询商品接口代码示例
2014/06/17 PHP
php实现阿拉伯数字和罗马数字相互转换的方法
2015/04/17 PHP
Netbeans 8.2与PHP相关的新特性介绍
2016/10/08 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
Javascript 继承机制实例
2009/08/12 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
2014/04/23 Javascript
事件委托与阻止冒泡阻止其父元素事件触发
2014/09/02 Javascript
浅谈Javascript中的Function与Object
2015/01/26 Javascript
基于jQuery实现最基本的淡入淡出效果实例
2015/02/02 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JQuery入门基础小实例(1)
2015/09/17 Javascript
JavaScript从0开始构思表情插件
2016/07/26 Javascript
Ajax与服务器(JSON)通信实例代码
2016/11/05 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
微信小程序实现登录页云层漂浮的动画效果
2017/05/05 Javascript
javascript简单写的判断电话号码实例
2017/05/24 Javascript
node.js中stream流中可读流和可写流的实现与使用方法实例分析
2020/02/13 Javascript
Vue Router的手写实现方法实现
2020/03/02 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
python复制文件的方法实例详解
2015/05/22 Python
Python ftp上传文件
2016/02/13 Python
Python实现将罗马数字转换成普通阿拉伯数字的方法
2017/04/19 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
keras在构建LSTM模型时对变长序列的处理操作
2020/06/29 Python
Selenium+BeautifulSoup+json获取Script标签内的json数据
2020/12/07 Python
Python使用tkinter制作在线翻译软件
2021/02/22 Python
跑步、骑行和铁人三项的高性能眼镜和服装:ROKA
2018/07/06 全球购物
环境工程大学生自荐信
2013/10/21 职场文书
幼儿园教师辞职信
2014/01/18 职场文书
会计自我鉴定
2014/02/04 职场文书
主持稿开场白
2015/06/01 职场文书