PHP的Socket通信之UDP通信实例


Posted in PHP onJuly 02, 2015

本文实例讲述了PHP的Socket通信之UDP通信方法。分享给大家供大家参考。具体如下:

1.创建一简单的UDP服务器

//服务器信息 
$server = 'udp://127.0.0.1:9998'; 
//消息结束符号 
$msg_eof = "\n"; 
$socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND); 
if (!$socket) { 
  die("$errstr ($errno)"); 
} 
do { 
  //接收客户端发来的信息 
  $inMsg = stream_socket_recvfrom($socket, 1024, 0, $peer); 
  //服务端打印出相关信息 
  echo "Client : $peer\n"; 
  echo "Receive : {$inMsg}"; 
  //给客户端发送信息 
  $outMsg = substr($inMsg, 0, (strrpos($inMsg, $msg_eof))).' -- '.date("D M j H:i:s Y\r\n"); 
  stream_socket_sendto($socket, $outMsg, 0, $peer); 
} while ($inMsg !== false);

2.简单的客户端

function udpGet($sendMsg = '', $ip = '127.0.0.1', $port = '9998'){ 
  $handle = stream_socket_client("udp://{$ip}:{$port}", $errno, $errstr); 
  if( !$handle ){ 
    die("ERROR: {$errno} - {$errstr}\n"); 
  } 
  fwrite($handle, $sendMsg."\n"); 
  $result = fread($handle, 1024); 
  fclose($handle); 
  return $result; 
} 
$result = udpGet('Hello World'); 
echo $result;

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
一个php作的文本留言本的例子(四)
Oct 09 PHP
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
May 07 PHP
php获取$_POST同名参数数组的实现介绍
Jun 30 PHP
php中stream(流)的用法
Mar 25 PHP
基于laravel制作APP接口(API)
Mar 15 PHP
自制PHP框架之模型与数据库
May 07 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
PHP实现的策略模式示例
Mar 20 PHP
PHP实现的多进程控制demo示例
Jul 22 PHP
php链式操作的实现方式分析
Aug 12 PHP
laravel model模型处理之修改查询或修改字段时的类型格式案例
Oct 17 PHP
PHP使用gearman进行异步的邮件或短信发送操作详解
Feb 27 PHP
php三元运算符知识汇总
Jul 02 #PHP
PHP中foreach()用法汇总
Jul 02 #PHP
PHP.ini安全配置检测工具pcc简单介绍
Jul 02 #PHP
PHP输出缓冲控制Output Control系列函数详解
Jul 02 #PHP
PHP中的命名空间详细介绍
Jul 02 #PHP
PHP+JS实现大规模数据提交的方法
Jul 02 #PHP
PHP中iconv函数知识汇总
Jul 02 #PHP
You might like
php生成excel文件的简单方法
2014/02/08 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
WordPres对前端页面调试时的两个PHP函数使用小技巧
2015/12/22 PHP
PHP用正则匹配form表单中所有元素的类型和属性值实例代码
2017/02/28 PHP
Smarty模板配置实例简析
2019/07/20 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
下拉框select的绑定示例
2014/09/04 Javascript
基于NodeJS的前后端分离的思考与实践(二)模版探索
2014/09/26 NodeJs
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
js控制网页前进和后退的方法
2015/06/08 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
全面了解JS中的匿名函数
2016/06/29 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
Jquery根据浏览器窗口改变调整大小的方法
2017/02/07 Javascript
Swiper实现轮播图效果
2017/07/03 Javascript
react-navigation 如何判断用户是否登录跳转到登录页的方法
2017/12/01 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
浅谈Vue组件及组件的注册方法
2018/08/24 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
python 用户交互输入input的4种用法详解
2019/09/24 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
利用python绘制正态分布曲线
2021/01/04 Python
孕妇装中的著名品牌:Isabella Oliver(伊莎贝拉·奥利弗)
2016/10/31 全球购物
廉洁自律承诺书
2014/03/27 职场文书
小学生安全演讲稿
2014/04/25 职场文书
中学教师师德承诺书
2014/05/23 职场文书
巾帼志愿者活动方案
2014/08/17 职场文书
个人批评与自我批评总结
2014/10/17 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
暂住证证明
2015/06/19 职场文书
2016应届毕业生就业指导课心得体会
2016/01/15 职场文书
护理自荐信
2019/05/14 职场文书
Oracle笔记
2021/04/05 Oracle