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 相关文章推荐
一个odbc连mssql分页的类
Oct 09 PHP
十天学会php之第三天
Oct 09 PHP
PHP开发入门教程之面向对象
Dec 05 PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 PHP
PHP MSSQL 存储过程的方法
Dec 24 PHP
php 自写函数代码 获取关键字 去超链接
Feb 08 PHP
PHP初学者常见问题集合 修正版(21问答)
Mar 23 PHP
php统计时间和内存使用情况示例分享
Mar 13 PHP
PHP动态输出JavaScript代码实例
Feb 12 PHP
php实现无限级分类查询(递归、非递归)
Mar 10 PHP
php大小写转换函数(strtolower、strtoupper)用法介绍
Nov 17 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简单判断文本编码的方法
2015/07/30 PHP
laravel withCount 统计关联数量的方法
2019/10/10 PHP
Js之软键盘实现(js源码)
2007/01/30 Javascript
jQuery+PHP打造滑动开关效果
2014/12/16 Javascript
深入理解JavaScript系列(22):S.O.L.I.D五大原则之依赖倒置原则DIP详解
2015/03/05 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
JavaScript实现图片滑动切换的代码示例分享
2016/03/06 Javascript
js和jq使用submit方法无法提交表单的快速解决方法
2016/05/17 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
js仿小米手机上下滑动效果
2017/02/05 Javascript
原生js实现简单的模态框示例
2017/09/08 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
Vue.js组件通信的几种姿势
2017/10/23 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
vue.js 实现输入框动态添加功能
2018/06/25 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
轻松解决JavaScript定时器越走越快的问题
2019/05/13 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
JavaScript实现雪花飘落效果
2020/12/27 Javascript
利用python画一颗心的方法示例
2017/01/31 Python
详解python3中tkinter知识点
2018/06/21 Python
详解用pyecharts Geo实现动态数据热力图城市找不到问题解决
2019/06/26 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
Django如何使用jwt获取用户信息
2020/04/21 Python
Python爬虫与反爬虫大战
2020/07/30 Python
用Python实现职工信息管理系统
2020/12/30 Python
街头时尚在线:JESSICABUURMAN
2019/06/16 全球购物
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
ASP.NET中的身份验证有那些
2012/07/13 面试题
中专毕业生自荐信范文
2013/11/28 职场文书
老师对学生的寄语
2014/04/09 职场文书
《长城和运河》教学反思
2014/04/14 职场文书
离退休人员聘用协议书
2014/11/24 职场文书
遗失说明具结保证书
2015/02/26 职场文书
保研推荐信范文
2015/03/25 职场文书
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL