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自动选择 连接本地还是远程数据库
Dec 02 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
记录PHP错误日志 display_errors与log_errors的区别
Oct 09 PHP
利用php实现禁用IE和火狐的缓存问题
Dec 03 PHP
PHP加Nginx实现动态裁剪图片方案
Mar 10 PHP
xss防御之php利用httponly防xss攻击
Mar 21 PHP
PHP取余函数介绍MOD(x,y)与x%y
May 15 PHP
单台服务器的PHP进程之间实现共享内存的方法
Jun 13 PHP
laravel学习教程之存取器
Jul 30 PHP
php加密之discuz内容经典加密方式实例详解
Feb 04 PHP
yii2实现Ueditor百度编辑器的示例代码
Nov 02 PHP
php layui实现前端多图上传实例
Jul 30 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 url地址栏传中文乱码解决方法集合
2010/06/25 PHP
php生成二维码时出现中文乱码的解决方法
2014/12/18 PHP
基于OpenCart 开发支付宝,财付通,微信支付参数错误问题
2015/10/01 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
ThinkPHP框架整合微信支付之JSAPI模式图文详解
2019/04/09 PHP
Flash对联广告的关闭按钮讨论
2007/01/30 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
jQuery的live()方法对hover事件的处理示例
2014/02/27 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
js获取当前日期时间及其它操作汇总
2015/04/17 Javascript
js图片延迟加载(Lazyload)三种实现方式
2017/03/01 Javascript
微信小程序开发之map地图实现教程
2017/06/08 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
python编程-将Python程序转化为可执行程序[整理]
2007/04/09 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
2019/08/26 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
基于Python采集爬取微信公众号历史数据
2020/11/27 Python
ebookers英国:隶属全球最大的在线旅游公司Expedia
2017/12/28 全球购物
夏尔巴人登珠峰品牌:Sherpa Adventure Gear
2018/02/08 全球购物
英国绿色商店:Natural Collection
2019/05/03 全球购物
英国第一职业高尔夫商店:Clickgolf.co.uk
2020/11/18 全球购物
美国艺术和工艺品商店:Hobby Lobby
2020/12/09 全球购物
秋季校运动会广播稿
2014/02/23 职场文书
理工学院学生自我鉴定
2014/02/23 职场文书
2014年端午节活动方案
2014/03/11 职场文书
学校教师安全责任书
2014/07/23 职场文书
MySql开发之自动同步表结构
2021/05/28 MySQL
Python+Tkinter制作专属图形化界面
2022/04/01 Python