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 相关文章推荐
从MySQL数据库表中取出随机数据的代码
Sep 05 PHP
仿Aspnetpager的一个PHP分页类代码 附源码下载
Oct 08 PHP
PHP daddslashes 使用方法介绍
Oct 26 PHP
浅析PHP页面局部刷新功能的实现小结
Jun 21 PHP
浅析php过滤html字符串,防止SQL注入的方法
Jul 02 PHP
php实现图片缩放功能类
Dec 18 PHP
PHP实现在线阅读PDF文件的方法
Jun 17 PHP
试用php中oci8扩展
Jun 18 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
Mar 19 PHP
微信公众平台开发(五) 天气预报功能开发
Dec 03 PHP
PHP的PDO事务与自动提交
Jan 24 PHP
laravel框架模型中非静态方法也能静态调用的原理分析
Nov 23 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
DOTA2游戏同人动画《龙之血》导演接受采访
2021/03/05 欧美动漫
PHP新手上路(十四)
2006/10/09 PHP
phpmyadmin 访问被拒绝的真实原因
2009/06/15 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
JavaScript中两种链式调用实现代码
2011/01/12 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
JavaScript中setUTCMilliseconds()方法的使用详解
2015/06/12 Javascript
跟我学习javascript的执行上下文
2015/11/18 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
jQuery:unbind方法的使用详解
2017/08/14 jQuery
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
vue.js 微信支付前端代码分享
2018/02/10 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
angular4自定义组件非input元素实现ngModel双向数据绑定的方法
2018/12/28 Javascript
JS校验与最终登陆界面功能完整示例
2020/01/13 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
python的id()函数解密过程
2012/12/25 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
2019/06/24 Python
Python使用QQ邮箱发送邮件报错smtplib.SMTPAuthenticationError
2019/12/20 Python
pytorch实现mnist分类的示例讲解
2020/01/10 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
python是怎么被发明的
2020/06/15 Python
python 密码学示例——凯撒密码的实现
2020/09/21 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
如何理解委托
2012/01/06 面试题
2014年服务行业工作总结
2014/11/18 职场文书
公司2014年度工作总结
2014/12/10 职场文书
安全先进班组材料
2014/12/26 职场文书
公司禁烟通知
2015/04/23 职场文书