函数名称:radius_put_vendor_addr()
适用版本:PHP 4, PHP 5, PHP 7
函数描述:将一个扩展属性添加到RADIUS数据包中,该属性的类型为IPv4地址。
用法: bool radius_put_vendor_addr ( resource $radius_handle , int $vendor , int $type , string $addr )
参数:
- $radius_handle:RADIUS连接资源句柄,通过radius_auth_open()或radius_acct_open()函数获取。
- $vendor:扩展属性的供应商ID。
- $type:属性的类型。
- $addr:IPv4地址。
返回值: 如果成功添加属性,则返回 TRUE,否则返回 FALSE。
示例:
// 创建RADIUS连接
$radius_handle = radius_auth_open();
// 连接到RADIUS服务器
radius_add_server($radius_handle, "radius.example.com", 1812, "secret_key", 5, 3);
// 发送RADIUS请求并接收响应
if (radius_create_request($radius_handle, RADIUS_ACCESS_REQUEST)) {
// 添加扩展属性
$vendor = 12345; // 假设供应商ID为12345
$type = 1; // 假设属性类型为1
$addr = "192.168.0.100"; // 假设IPv4地址为192.168.0.100
radius_put_vendor_addr($radius_handle, $vendor, $type, $addr);
// 发送请求并等待响应
if (radius_send_request($radius_handle)) {
$result = radius_get_attr($radius_handle, RADIUS_VENDOR_ATTR, $vendor, $type);
if ($result !== FALSE) {
echo "扩展属性值为:" . radius_cvt_addr($result) . "\n";
} else {
echo "无法获取扩展属性值。\n";
}
} else {
echo "RADIUS请求发送失败。\n";
}
} else {
echo "无法创建RADIUS请求。\n";
}
// 关闭RADIUS连接
radius_close($radius_handle);
注意:在实际使用中,需要将示例中的 "radius.example.com" 替换为实际的RADIUS服务器地址,"secret_key" 替换为RADIUS服务器的共享密钥,并根据实际情况修改其他参数。