略微加速

略速 - 互联网笔记

PHP的Socket通信之UDP篇

2021-12-22 leiting (2453阅读)

标签 PHP

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;

北京半月雨文化科技有限公司.版权所有 京ICP备12026184号-3