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
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
PHP实现异步调用方法研究与分享
Oct 27 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
PHP检测字符串是否为UTF8编码的常用方法
Nov 21 PHP
WordPress中用于获取文章作者与分类信息的方法整理
Dec 17 PHP
学习PHP的数组总结【经验】
May 05 PHP
php版微信公众平台之微信网页登陆授权示例
Sep 23 PHP
分享一个漂亮的php验证码类
Sep 29 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
掌握PHP垃圾回收机制详解
Mar 13 PHP
PHP实现简单登录界面
Oct 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
php简单封装了一些常用JS操作
2007/02/25 PHP
Php获取金书网的书名的实现代码
2010/06/11 PHP
采用thinkphp自带方法生成静态html文件详解
2014/06/13 PHP
PHP判断一个字符串是否是回文字符串的方法
2015/03/23 PHP
PHP实现的构造sql语句类实例
2016/02/03 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
20款超赞的jQuery插件 Web开发人员必备
2011/02/26 Javascript
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
js 限制input只能输入数字、字母和汉字等等
2013/12/18 Javascript
jquery实现点击消失的代码
2014/03/03 Javascript
Node调试工具JSHint的安装及配置教程
2014/05/27 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
jquery基础知识第一讲之认识jquery
2016/03/17 Javascript
JavaScript类的写法
2016/09/17 Javascript
JS正则RegExp.test()使用注意事项(不具有重复性)
2016/12/28 Javascript
JavaScript使用简单正则表达式的数据验证功能示例
2017/01/13 Javascript
详谈js中window.location.search的用法和作用
2017/02/13 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
angularjs实现table增加tr的方法
2018/02/27 Javascript
Vue axios全局拦截 get请求、post请求、配置请求的实例代码
2018/11/28 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
Python GUI Tkinter简单实现个性签名设计
2018/06/19 Python
详解Python字典的操作
2019/03/04 Python
Python日期时间Time模块实例详解
2019/04/15 Python
python实现银行管理系统
2019/10/25 Python
python字符串,元组,列表,字典互转代码实例详解
2020/02/14 Python
加拿大休闲和工业服装和鞋类零售商:L’Équipeur
2018/01/12 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
2016春季运动会开幕词
2016/03/04 职场文书