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 相关文章推荐
做个自己站内搜索引擎
Oct 09 PHP
十天学会php之第八天
Oct 09 PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
用php的ob_start来生成静态页面的方法分析
Mar 09 PHP
php表单提交问题的解决方法
Apr 12 PHP
PHP数组循环操作详细介绍 附实例代码
Feb 03 PHP
支持中文的PHP按字符串长度分割成数组代码
May 17 PHP
php去除二维数组的重复项方法
Nov 03 PHP
老生常谈ThinkPHP中的行为扩展和插件(推荐)
May 05 PHP
PHP检测接口Traversable用法详解
Dec 29 PHP
Laravel用户授权系统的使用方法示例
Sep 16 PHP
windows 2008r2+php5.6.28环境搭建详细过程
Jun 18 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中处理模拟rewrite 效果
2006/12/09 PHP
php 文章采集正则代码
2009/12/28 PHP
解析关于java,php以及html的所有文件编码与乱码的处理方法汇总
2013/06/24 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
php实现购物车产品删除功能(2)
2020/07/23 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
jQuery中$.ajax()和$.getJson()同步处理详解
2015/08/12 Javascript
探讨跨域请求资源的几种方式(总结)
2016/12/02 Javascript
JavaScript之map reduce_动力节点Java学院整理
2017/06/29 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
JS解决position:sticky的兼容性问题的方法
2017/10/17 Javascript
node thread.sleep实现示例
2018/06/20 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
Python入门篇之条件、循环
2014/10/17 Python
python写入xml文件的方法
2015/05/08 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
Python从入门到精通之环境搭建教程图解
2019/09/26 Python
Python基于QQ邮箱实现SSL发送
2020/04/26 Python
详解background属性的8个属性值(面试题)
2020/11/02 HTML / CSS
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
美国最大最全的亚洲购物网站:美国亚米网(Yamibuy)
2020/05/05 全球购物
四年大学生活的个人自我评价
2013/12/11 职场文书
建筑项目策划书
2014/01/13 职场文书
商务邀请函范文
2014/01/14 职场文书
迎新晚会主持词
2014/03/24 职场文书
大学生村官个人对照检查材料(群众路线)
2014/09/26 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
2015年公共机构节能宣传周活动总结
2015/03/26 职场文书
音乐课《小猫钓鱼》教学反思
2016/02/18 职场文书
numpy array找出符合条件的数并赋值的示例代码
2022/06/01 Python