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 实现多服务器共享 SESSION 数据
Aug 15 PHP
php上的memcache和memcached两个pecl库
Mar 29 PHP
php 目录与文件处理-郑阿奇(续)
Jul 04 PHP
深入php处理整数函数的详解
Jun 09 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
Aug 06 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
老版本PHP转义Json里的特殊字符的函数
Jun 08 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
php阳历转农历优化版
Aug 08 PHP
PHP 爬取网页的主要方法
Jul 13 PHP
php分享朋友圈的实现代码
Feb 18 PHP
PHP判断是否是微信打开还是浏览器打开的方法
Feb 27 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
SONY ICF-SW55的电路分析
2021/03/02 无线电
PHP安装攻略:常见问题解答(一)
2006/10/09 PHP
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php中自定义函数dump查看数组信息类似var_dump
2014/01/27 PHP
php多功能图片处理类分享(php图片缩放类)
2014/03/14 PHP
php cookie 详解使用实例
2016/11/03 PHP
PHP的mysqli_set_charset()函数讲解
2019/01/23 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
JS URL传中文参数引发的乱码问题
2009/09/02 Javascript
基于jquery的点击链接插入链接内容的代码
2012/07/31 Javascript
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
关于js数组去重的问题小结
2014/01/24 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
2014/05/07 Javascript
jQuery插件expander实现图片翻转特效
2015/05/21 Javascript
JSON相关知识汇总
2015/07/03 Javascript
js图片轮播特效代码分享
2015/09/07 Javascript
js实现内容显示并使用json传输数据
2016/03/16 Javascript
PHP实现本地图片上传和验证功能
2017/02/27 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
Vue中 axios delete请求参数操作
2020/08/25 Javascript
python中urlparse模块介绍与使用示例
2017/11/19 Python
python实现word 2007文档转换为pdf文件
2018/03/15 Python
如何利用python读取micaps文件详解
2020/10/18 Python
CSS3动画效果回调处理详解
2014/12/10 HTML / CSS
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
英国团购网站:Groupon英国
2017/11/28 全球购物
英国百年闻名的优质健康产品连锁店:Holland & Barrett
2019/12/19 全球购物
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
瑞典多品牌连锁店:Johnells
2021/01/13 全球购物
机关搬迁方案
2014/05/18 职场文书
本科生求职信
2014/06/17 职场文书
经营理念口号
2014/06/21 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python