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之第六天
Oct 09 PHP
php结合飞信 免费天气预报短信
May 07 PHP
PHP下常用正则表达式整理
Oct 26 PHP
PHP中用正则表达式清除字符串的空白
Jan 17 PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
May 10 PHP
thinkphp在模型中自动完成session赋值示例代码
Sep 09 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
Nov 04 PHP
微信access_token的获取开发示例
Apr 16 PHP
phpstudy默认不支持64位php的解决方法
Feb 20 PHP
PHP批斗大会之缺失的异常详解
Jul 09 PHP
php模拟post提交请求调用接口示例解析
Aug 07 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
yii2 数据库读写分离配置示例
2017/02/10 PHP
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
javascript判断机器是否联网的2种方法
2013/08/09 Javascript
a标签的href与onclick事件的区别详解
2014/11/12 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
js仿百度登录页实现拖动窗口效果
2016/03/11 Javascript
浅析JS原型继承与类的继承
2016/04/07 Javascript
基于jquery插件实现拖拽删除图片功能
2020/08/27 Javascript
详解js运算符单竖杠“|”与“||”的用法和作用介绍
2016/11/04 Javascript
AngularJS实现的回到顶部指令功能实例
2017/05/17 Javascript
详解Angular Reactive Form 表单验证
2017/07/06 Javascript
js中url对象化管理分析
2017/12/29 Javascript
原生js实现五子棋游戏
2020/05/28 Javascript
微信小程序绘制半圆(弧形)进度条
2020/11/18 Javascript
[02:38]DOTA2英雄基础教程 噬魂鬼
2014/01/03 DOTA
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[01:33]PWL开团时刻DAY2-开雾与反开雾
2020/10/31 DOTA
python处理csv数据的方法
2015/03/11 Python
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python中max函数用于二维列表的实例
2018/04/03 Python
Python实现随机漫步功能
2018/07/09 Python
python爬虫之线程池和进程池功能与用法详解
2018/08/02 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
英国知名的护肤彩妆与时尚配饰大型综合零售电商:Unineed
2016/11/21 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
支教自我鉴定
2014/01/18 职场文书
六查六看剖析材料
2014/02/15 职场文书
会议欢迎标语
2014/06/30 职场文书
领导班子四风表现材料
2014/08/23 职场文书
政协会议宣传标语
2014/10/09 职场文书
书法社团活动总结
2015/05/07 职场文书
幼儿园元旦主持词
2015/07/06 职场文书
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL