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实现的随机广告显示代码
Jun 14 PHP
PHP定时自动生成静态HTML的实现代码
Jun 20 PHP
基于php中使用excel的简单介绍
Aug 02 PHP
php MessagePack介绍
Oct 06 PHP
php获取汉字首字母的函数
Nov 07 PHP
一款简单实用的php操作mysql数据库类
Dec 08 PHP
PHP中如何使用session实现保存用户登录信息
Oct 20 PHP
joomla数据库操作示例代码
Jan 06 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
Yii2中Restful API原理实例分析
Jul 25 PHP
PHP中静态变量的使用方法实例分析
Dec 01 PHP
Laravel Eloquent ORM 实现查询表中指定的字段
Oct 17 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循环语句笔记(foreach,list)
2011/11/29 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
PHP中使用glob函数实现一句话删除某个目录下的所有文件
2014/07/22 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
jQuery 关于伪类选择符的使用说明
2013/04/24 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
用box固定长宽实现图片自动轮播js代码
2014/06/09 Javascript
javascript数组遍历for与for in区别详解
2014/12/04 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
javascript巧用eval函数组装表单输入项为json对象的方法
2015/11/25 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
2016/08/11 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
AngularJS 购物车全选/取消全选功能的实现方法
2017/08/14 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
详解vue父子组件关于模态框状态的绑定方案
2019/06/05 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python正则表达式修复网站文章字体不统一的解决方法
2013/02/21 Python
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
Python实现PS滤镜Fish lens图像扭曲效果示例
2018/01/29 Python
解决Django一个表单对应多个按钮的问题
2019/07/18 Python
Ranorex通过Python将报告发送到邮箱的方法
2020/01/12 Python
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
2017/10/26 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
2020/09/15 HTML / CSS
Python中pass语句的作用是什么
2016/06/01 面试题
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
英语读书笔记
2015/07/02 职场文书
会计岗位工作总结
2015/08/12 职场文书
护士岗前培训心得体会
2016/01/08 职场文书
JavaScript流程控制(循环)
2021/12/06 Javascript
解析python中的jsonpath 提取器
2022/01/18 Python
Redis实现分布式锁的五种方法详解
2022/06/14 Redis