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 相关文章推荐
html中select语句读取mysql表中内容
Oct 09 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
深入探讨:Nginx 502 Bad Gateway错误的解决方法
Jun 03 PHP
PHP5函数小全(分享)
Jun 06 PHP
PHP eval函数使用介绍
Dec 08 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
php使用pdo连接mssql server数据库实例
Dec 25 PHP
PHP使用array_merge重新排列数组下标的方法
Jul 22 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
PHP-CGI远程代码执行漏洞分析与防范
May 07 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
Nov 10 PHP
PHP实现基本留言板功能原理与步骤详解
Mar 26 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
PHP字符串的编码问题的详细介绍
2013/04/27 PHP
PHP发送AT指令实例代码
2016/05/26 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
2017/05/23 PHP
PHP获取数组中单列值的方法
2017/06/10 PHP
js传值 判断
2006/10/26 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
详细解密jsonp跨域请求
2015/04/15 Javascript
Bootstrap每天必学之前端开发框架
2015/11/19 Javascript
理解js对象继承的N种模式
2016/01/25 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
Bootstrop实现多级下拉菜单功能
2016/11/24 Javascript
loading动画特效小结
2017/01/22 Javascript
详解vue + vuex + directives实现权限按钮的思路
2017/10/24 Javascript
微信小程序商品详情页的底部弹出框效果
2020/11/16 Javascript
详解vue axios二次封装
2018/07/22 Javascript
对于防止按钮重复点击的尝试详解
2019/04/22 Javascript
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python配置文件解析模块ConfigParser使用实例
2015/04/13 Python
在win和Linux系统中python命令行运行的不同
2016/07/03 Python
Python随机生成均匀分布在单位圆内的点代码示例
2017/11/13 Python
Python数据集切分实例
2018/12/08 Python
Python Django 简单分页的实现代码解析
2019/08/21 Python
python生成器/yield协程/gevent写简单的图片下载器功能示例
2019/10/28 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
详解用Python调用百度地图正/逆地理编码API
2020/07/02 Python
python 将列表里的字典元素合并为一个字典实例
2020/09/01 Python
Python根据字符串调用函数过程解析
2020/11/05 Python
python实现三种随机请求头方式
2021/01/05 Python
雅诗兰黛旗下专业男士保养领导品牌:Lab Series
2017/05/15 全球购物
最美家庭活动方案
2014/08/31 职场文书
公务员考察材料
2014/12/23 职场文书
好好学习保证书
2015/02/26 职场文书
户外亲子活动总结
2015/05/08 职场文书
体育教师教学随笔
2015/08/15 职场文书