首先大概了解下计算机网络原理中UDP 的一些概述
- 基于Internet IP协议
复用/奋勇
简单的错误校验 - Best effort 服务(尽力服务)
丢失
非按序到达 - 无连接
UDP发送和接收前不需要双方建立连接(握手)
每个UDP段的处理独立于其他段
以上仅为概述,具体了解UDP详细请移步,无连接的用户数据报协议—UDP
下面是搜索到的PHP SOCKET实现基础UDP示例代码:
服务端
<?php
$socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP );
$ok = socket_bind( $socket, '127.0.0.1', 3380 );
while ( true ) {
$from = "";
$port = 3380;
socket_recvfrom( $socket, $buf,1024, 0, $from, $port);
echo $buf;
usleep( 1000 );
}
客户端
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = "hello\n";
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '127.0.0.1', 3380);
socket_close($sock);