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 相关文章推荐
通过ICQ网关发送手机短信的PHP源程序
Oct 09 PHP
PHP 简易输出CSV表格文件的方法详解
Jun 20 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
分享最受欢迎的5款PHP框架
Nov 27 PHP
php创建session的方法实例详解
Jan 27 PHP
PHP 使用 Imagick 裁切/生成缩略图/添加水印自动检测和处理 GIF
Feb 19 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
php 自定义错误日志实例详解
Nov 12 PHP
PHP + plupload.js实现多图上传并显示进度条加删除实例代码
Mar 06 PHP
PHP实现的下载远程文件类定义与用法示例
Jul 05 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
PHP函数积累总结
Mar 19 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
jQuery+PHP+ajax实现微博加载更多内容列表功能
2014/06/27 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
javascript 放大镜效果js组件 qsoft.PopBigImage.v0.35 加入了chrome支持
2009/04/07 Javascript
js 格式化时间日期函数小结
2010/03/20 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
浅谈Jquery核心函数
2015/06/18 Javascript
ECMA5数组的新增方法有哪些及forEach()模仿实现
2015/11/03 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
jQuery常见的选择器及用法介绍
2016/12/20 Javascript
JavaScript仿支付宝6位数字密码输入框
2016/12/29 Javascript
详解vue组件化开发-vuex状态管理库
2017/04/10 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
微信小程序之自定义组件的实现代码(附源码)
2018/08/02 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
vue router 源码概览案例分析
2018/10/09 Javascript
基于vue实现一个神奇的动态按钮效果
2019/05/15 Javascript
通过vue手动封装on、emit、off的代码详解
2019/05/29 Javascript
vue el-tree 默认展开第一个节点的实现代码
2020/05/15 Javascript
JavaScript直接调用函数与call调用的区别实例分析
2020/05/22 Javascript
python实现按行切分文本文件的方法
2016/04/18 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
python实现切割url得到域名、协议、主机名等各个字段的例子
2019/07/25 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
结合CSS3的新特性来总结垂直居中的实现方法
2016/05/30 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
编写strcpy函数
2014/06/24 面试题
工商技校毕业生自荐信
2013/11/15 职场文书
个人能力自我鉴赏
2014/01/25 职场文书
护理专业自荐信范文
2014/02/26 职场文书
后备干部培训方案
2014/05/22 职场文书
商场客服专员岗位职责
2014/06/13 职场文书
毕业实习证明(4篇)
2014/10/28 职场文书
幼儿园小班家长评语
2014/12/30 职场文书
2015领导干部廉洁自律工作总结
2015/07/23 职场文书
php解析非标准json、非规范json的方式实例
2022/05/10 PHP