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 相关文章推荐
不用mod_rewrite直接用php实现伪静态化页面代码
Oct 04 PHP
php at(@)符号的用法简介
Jul 11 PHP
PHP实现的封装验证码类详解
Jun 18 PHP
PHP @ at 记号的作用示例介绍
Oct 10 PHP
CI框架验证码CAPTCHA辅助函数用法实例
Nov 05 PHP
PHP实现Javascript中的escape及unescape函数代码分享
Feb 10 PHP
WordPress中限制非管理员用户在文章后只能评论一次
Dec 31 PHP
PHP7匿名类用法分析
Sep 26 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 PHP
laravel 实现设置时区的简单方法
Oct 10 PHP
PHP使用Http Post请求发送Json对象数据代码解析
Jul 16 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 Stream_*系列函数
2010/08/01 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
2015/04/15 Javascript
javascript自定义右键弹出菜单实现方法
2015/05/25 Javascript
javascript中$(function() {});写与不写有哪些区别
2015/08/10 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
JavaScript仿淘宝页面图片滚动加载及刷新回顶部的方法解析
2016/05/24 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
JavaScript多态与封装实例分析
2018/07/27 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
2018/09/04 Javascript
Swiper.js实现移动端元素左右滑动
2019/09/08 Javascript
Python实现类的创建与使用方法示例
2017/07/25 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
python and or用法详解
2019/06/26 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
python实现录屏功能(亲测好用)
2020/03/02 Python
通过实例解析python创建进程常用方法
2020/06/19 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
python 进程池pool使用详解
2020/10/15 Python
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
世界最大的票务市场:viagogo
2017/02/16 全球购物
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
什么是java序列化,如何实现java序列化
2012/11/14 面试题
联想C++笔试题
2012/06/13 面试题
什么是唯一索引
2015/07/05 面试题
KTV的创业计划书范文
2014/02/02 职场文书
酒店行政人事部经理职务说明书
2014/02/26 职场文书
户外活动总结范文
2014/04/30 职场文书
化学教育专业自荐信
2014/07/04 职场文书
文明单位汇报材料
2014/12/24 职场文书
党校毕业个人总结
2015/02/28 职场文书
python中__slots__节约内存的具体做法
2021/07/04 Python