当前位置:首页 > PHP教程 > php高级应用 > 列表

PHP的Socket通信之UDP通信实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-07 23:08:14 浏览: 评论:0 

这篇文章主要介绍了PHP的Socket通信之UDP通信方法,实例分析了php基于socket实现UDP通信的相关技巧,需要的朋友可以参考下。

本文实例讲述了PHP的Socket通信之UDP通信方法,分享给大家供大家参考,具体如下:

1.创建一简单的UDP服务器:

  1. //服务器信息  
  2. $server = 'udp://127.0.0.1:9998';  
  3. //消息结束符号  
  4. $msg_eof = "\n";  
  5. $socket = stream_socket_server($server$errno$errstr, STREAM_SERVER_BIND);  
  6. if (!$socket) {  
  7.   die("$errstr ($errno)");  
  8. }  
  9. do {  
  10.   //接收客户端发来的信息  
  11.   $inMsg = stream_socket_recvfrom($socket, 1024, 0, $peer);  
  12.   //服务端打印出相关信息  
  13.   echo "Client : $peer\n";  
  14.   echo "Receive : {$inMsg}";  
  15.   //给客户端发送信息  
  16.   $outMsg = substr($inMsg, 0, (strrpos($inMsg$msg_eof))).' -- '.date("D M j H:i:s Y\r\n");  
  17.   stream_socket_sendto($socket$outMsg, 0, $peer);  
  18. while ($inMsg !== false); 

2.简单的客户端

  1. function udpGet($sendMsg = ''$ip = '127.0.0.1'$port = '9998'){  
  2.   $handle = stream_socket_client("udp://{$ip}:{$port}"$errno$errstr);  
  3.   if( !$handle ){  
  4.     die("ERROR: {$errno} - {$errstr}\n");  
  5.   }  
  6.   fwrite($handle$sendMsg."\n");  
  7.   $result = fread($handle, 1024);  
  8.   fclose($handle);  
  9.   return $result;  
  10. }  
  11. $result = udpGet('Hello World');  
  12. echo $result;

Tags: Socket UDP

分享到: