php创建udp Server

<?php
//服务器信息
$server = 'udp://127.0.0.1:7002';
//----UDP Server
$msgEof = "\n";
$socket = stream_socket_server($server, $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
die($errstr.$errno);
}

do {
//接收客户端发来的信息
$inMsg = stream_socket_recvfrom($socket, 2048, 0, $peer);
//服务端打印出相关信息
//echo "Client : $peer\n";
//echo "Receive : {$inMsg}";
$inMsg = $inMsg . date('Y-m-d H:i:s');
//给客户端发送信息
file_put_contents("./tsrv.log", $inMsg, FILE_APPEND);
$outMsg = substr($inMsg, 0, (strrpos($inMsg, $msgEof))).'|date:'.date("Y-m-d H:i:s"."\n");
stream_socket_sendto($socket, $outMsg, 0, $peer);

} while ($inMsg !== false);


//----UDP client
function udpGet($sendMsg = '', $ip = '127.0.0.1', $port = '7001'){
$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;
~

转载于:https://www.cnblogs.com/jking10/p/7249572.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP socket是一种用于网络编程的功能强大的工具。它允许开发者创建基于TCP或UDP协议的网络连接,并通过这些连接进行数据传输。使用PHP socket,你可以创建服务器端和客户端应用程序,实现实时通信、网络游戏、远程控制等功能。 在PHP中,你可以使用socket函数库来操作socket。以下是一个简单的例子,展示了如何创建一个简单的TCP服务器和客户端: 服务器端代码(server.php): ```php <?php // 创建socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定IP地址和端口 socket_bind($socket, '127.0.0.1', 8080); // 监听连接 socket_listen($socket); // 接受客户端连接 $client = socket_accept($socket); // 从客户端接收数据 $data = socket_read($client, 1024); // 处理接收到的数据 // ... // 发送响应给客户端 $response = 'Hello, client!'; socket_write($client, $response, strlen($response)); // 关闭连接 socket_close($client); socket_close($socket); ?> ``` 客户端代码(client.php): ```php <?php // 创建socket $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 连接到服务器 socket_connect($socket, '127.0.0.1', 8080); // 发送数据给服务器 $data = 'Hello, server!'; socket_write($socket, $data, strlen($data)); // 接收服务器响应 $response = socket_read($socket, 1024); // 处理服务器响应 // ... // 关闭连接 socket_close($socket); ?> ``` 这只是一个简单的示例,你可以根据需求来扩展和改进代码。希望对你有所帮助!如果你有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值