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 相关文章推荐
phpfans留言版用到的install.php
Jan 04 PHP
浅析PHP的ASCII码转换类
Jul 05 PHP
php+mysqli使用面向对象方式查询数据库实例
Jan 29 PHP
PHP7新增运算符用法实例分析
Sep 26 PHP
PHP函数rtrim()使用中的怪异现象分析
Feb 24 PHP
php中str_pad()函数用法分析
Mar 28 PHP
php处理静态页面:页面设置缓存时间实例
Jun 22 PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 PHP
php报错502badgateway解决方法
Oct 11 PHP
PHP实现发送微博消息功能完整示例
Dec 04 PHP
Laravel框架下的Contracts契约详解
Mar 17 PHP
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
Apr 16 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通过cookies获取远程网页的指定代码
2013/06/25 PHP
thinkphp模板输出技巧汇总
2014/11/24 PHP
PHP经典面试题集锦
2015/03/19 PHP
PHP实现简易blog的制作
2016/10/24 PHP
设置iframe的document.designMode后仅Firefox中其body.innerHTML为br
2012/02/27 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
功能强大的Bootstrap效果展示(二)
2016/08/03 Javascript
JavaScript中localStorage对象存储方式实例分析
2017/01/12 Javascript
使用Vue开发自己的Chrome扩展程序过程详解
2019/06/21 Javascript
js实现无限瀑布流实例方法
2019/09/16 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
python进阶教程之文本文件的读取和写入
2014/08/29 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
2018/12/27 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
python创建与遍历List二维列表的方法
2019/08/16 Python
python不使用for计算两组、多个矩形两两间的iou方式
2020/01/18 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
利用CSS3实现折角效果实例源码
2016/09/28 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
乐高积木玩具美国官网:LEGO Shop US
2016/09/16 全球购物
标签和贴纸印刷:Lightning Labels
2018/03/22 全球购物
租租车:国际租车、美国租车、欧洲租车、特价预订国外租车(中文服务)
2018/03/28 全球购物
学生个人的自我评价分享
2013/11/05 职场文书
你懂得怎么写自荐信吗?
2013/12/27 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
运动会解说词50字
2014/01/18 职场文书
5.12护士节演讲稿
2014/04/30 职场文书
公司会议开幕词
2015/01/29 职场文书
淘宝客服专员岗位职责
2015/04/07 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python
微软发布Windows 11今年最大更新22H2(附 ISO 镜像官方下载)
2022/09/23 数码科技