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下编码转换函数mb_convert_encoding与iconv的使用说明
Dec 16 PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 PHP
用php来改写404错误页让你的页面更友好
Jan 24 PHP
基于session_unset与session_destroy的区别详解
Jun 03 PHP
PHP连接MSSQL2008/2005数据库(SQLSRV)配置实例
Oct 22 PHP
php常用的url处理函数总结
Nov 19 PHP
php获得网站访问统计信息类Compete API用法实例
Apr 02 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
Yii2框架BootStrap样式的深入理解
Nov 07 PHP
PHP PDOStatement::bindParam讲解
Jan 30 PHP
php遍历目录下文件并按修改时间排序操作示例
Jul 12 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
如何利用php+mysql保存和输出文件
2006/10/09 PHP
php下将XML转换为数组
2010/01/01 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
ThinkPHP开发框架函数详解:C方法
2015/08/14 PHP
详解PHP中instanceof关键字及instanceof关键字有什么作用
2015/11/05 PHP
PHP explode()函数用法讲解
2019/02/15 PHP
文字幻灯片
2006/06/26 Javascript
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
JQuery插件开发示例代码
2013/11/06 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
React教程之Props验证的具体用法(Props Validation)
2017/09/04 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
JavaScript实现的九种排序算法
2019/03/04 Javascript
react项目从新建到部署的实现示例
2021/02/19 Javascript
[02:32]“虐狗”镜头慎点 2016国际邀请赛中国区预选赛现场玩家采访
2016/06/28 DOTA
python分析网页上所有超链接的方法
2015/05/08 Python
python TKinter获取文本框内容的方法
2018/10/11 Python
numpy 计算两个数组重复程度的方法
2018/11/07 Python
Python3模拟登录操作实例分析
2019/03/12 Python
python中for循环把字符串或者字典添加到列表的方法
2019/07/20 Python
python通过http下载文件的方法详解
2019/07/26 Python
Python实现加密接口测试方法步骤详解
2020/06/05 Python
使用Keras加载含有自定义层或函数的模型操作
2020/06/10 Python
CSS3新增布局之: flex详解
2020/06/18 HTML / CSS
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
Nasty Gal英国:美国女性服饰销售网站
2021/03/02 全球购物
校运会广播稿100字
2014/01/27 职场文书
办公室主任岗位承诺书
2014/05/29 职场文书
大专学生求职自荐信
2014/07/06 职场文书
村班子对照检查材料
2014/08/18 职场文书
人事主管岗位职责
2015/02/04 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
Django路由层如何获取正确的url
2021/07/15 Python