PHP基于socket实现客户端和服务端通讯功能


Posted in PHP onJuly 13, 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 Stream_*系列函数
Aug 01 PHP
php定界符
Jun 19 PHP
PHP生成短网址的3种方法代码实例
Jul 08 PHP
PHP中exec与system用法区别分析
Sep 22 PHP
php单例模式实现方法分析
Mar 14 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
php输出含有“#”字符串的方法
Jan 18 PHP
Thinkphp通过一个入口文件如何区分移动端和PC端
Apr 18 PHP
PHP使用PHPExcel实现批量上传到数据库的方法
Jun 08 PHP
PHP unlink与rmdir删除目录及目录下所有文件实例代码
Feb 07 PHP
PHP 模拟登陆功能实例详解
Sep 10 PHP
在Laravel中使用MongoDB的方法示例
Nov 11 PHP
php中请求url的五种方法总结
Jul 13 #PHP
Laravel 5.4重新登录实现跳转到登录前页面的原理和方法
Jul 13 #PHP
php获取'/'传参的值简单方法
Jul 13 #PHP
php多文件打包下载的实例代码
Jul 12 #PHP
php实现网页端验证码功能
Jul 11 #PHP
阿里云PHP SMS短信服务验证码发送方法
Jul 11 #PHP
PHP实现阿里大鱼短信验证的实例代码
Jul 10 #PHP
You might like
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP自定义函数收代码
2010/08/01 PHP
关于PHP自动判断字符集并转码的详解
2013/06/26 PHP
php格式化时间戳显示友好的时间实现思路及代码
2014/10/23 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP实现执行外部程序的方法详解
2017/08/17 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
理解JavaScript变量作用域更轻松
2009/10/25 Javascript
自己写的Javascript计算时间差函数
2013/10/28 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
js图片自动轮播代码分享(js图片轮播)
2014/05/06 Javascript
javascript 获取HTML DOM父、子、临近节点
2014/06/16 Javascript
JavaScript中解析JSON数据的三种方法
2015/07/03 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
angularjs表格ng-table使用备忘录
2016/03/09 Javascript
超全面的javascript中变量命名规则
2017/02/09 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
angular6.0开发教程之如何安装angular6.0框架
2018/06/29 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
Windows下安装 node 的版本控制工具 nvm
2020/02/06 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
numpy下的flatten()函数用法详解
2019/05/27 Python
python清空命令行方式
2020/01/13 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
Ticketmaster德国票务网站:购买音乐会和体育等门票
2016/11/14 全球购物
什么是事务?为什么需要事务?
2012/01/09 面试题
行政管理专业推荐信
2013/11/02 职场文书
员工试用期自我评价
2014/09/18 职场文书
2015年百日安全活动总结
2015/03/26 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
2015年中学图书馆工作总结
2015/07/22 职场文书
运动会宣传稿50字
2015/07/23 职场文书