当前位置: 首页 > news >正文

std::net::SocketAddr

SocketAddr

Internet套接字地址,IPv4 或 IPv6

pub enum SocketAddr {V4(SocketAddrV4),V6(SocketAddrV6),
}

创建

SocketAddr::new自动返回SocketAddr::V4或者SocketAddr::V6

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);println!("socket: {:?}", socket);
}
socket: 127.0.0.1:8080

获取内容

ip

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);// 返回IpAddrlet ip = socket.ip();println!("ip: {}", ip);
}
ip: 127.0.0.1

port

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);// 返回u16let port = socket.port();println!("port: {}", port);
}
port: 8080

判断ip类型

is_ipv4

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);println!("v4: {}", socket.is_ipv4());println!("v6: {}", socket.is_ipv6());
}
v4: true
v6: false

Is_ipv6

use std::net::{IpAddr, Ipv6Addr, SocketAddr};fn main() {let socket = SocketAddr::new(IpAddr::V6(Ipv6Addr::new(0, 0, 0, 0, 0, 65535, 0, 1)), 8080);println!("v4: {}", socket.is_ipv4());println!("v6: {}", socket.is_ipv6());
}
v4: false
v6: true

设置

set_ip

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);println!("{:?}", socket);socket.set_ip(IpAddr::V4(Ipv4Addr::new(192, 186, 0, 1)));println!("{:?}", socket);
}
127.0.0.1:8080
192.186.0.1:8080

set_port

use std::net::{IpAddr, Ipv4Addr, SocketAddr};fn main() {let mut socket = SocketAddr::new(IpAddr::V4(Ipv4Addr::new(127, 0, 0, 1)), 8080);println!("{:?}", socket);socket.set_port(9999);println!("{:?}", socket);
}
127.0.0.1:8080
127.0.0.1:9999
http://www.jsqmd.com/news/652096/

相关文章:

  • 环保游艇常见问题解答(2026最新专家版) - 速递信息
  • AI教材编写神器推荐!低查重效果显著,快速产出优质教材
  • 【倒计时37天】2026奇点大会AI医疗咨询准入清单发布在即:未完成这5项数据治理的机构将无法接入国家级医联体AI中枢
  • 从老式电话到VoIP:PSTN技术演进全解析(附实战配置指南)
  • 告别弹窗!用WebView2在WPF里实现与JS的优雅双向通信(附完整源码)
  • P3721 [AHOI2017/HNOI2017] 单旋 - Link
  • 2026年全自动波峰焊接驳台,哪家定做厂家更靠谱? - 企业推荐官【官方】
  • CST微波工作室求解器怎么选?从电小天线到超电大RCS,一篇讲透6大求解器的实战选择指南
  • 在合肥找厂房找抖音啊豆说厂房选址 - 企业推荐官【官方】
  • 老司机带路:CentOS7+NVIDIA驱动离线部署的5个血泪教训(附诊断命令大全)
  • 穿越机 vs 航拍机:从飞控(Pixhawk/Betaflight)选择到机身布局的实战解析
  • redis 未授权访问 (CNVD-2015-07557)
  • IT运维人每日崩溃实录[特殊字符]
  • 2026年3月专业的气力输送系统企业推荐,介质阻挡离子发生器/触酶离子净化器/气力输送系统,气力输送系统产品哪家好 - 品牌推荐师
  • QQ空间导出助手:全面备份你的数字回忆
  • 【2026奇点大会独家解码】:AI情感陪伴技术的5大落地瓶颈与企业级部署清单
  • 【实战指南】Origin盗版弹窗终结方案:一键批处理与Hosts文件双管齐下
  • 外卖点餐|基于springboot + vue外卖点餐系统(源码+数据库+文档)
  • AI安全实践指南:如何避免智能系统的现实风险
  • Agent 动了你的数据库?聊聊工具权限这件要命的事
  • 掌握AI写教材核心,运用低查重技巧,轻松完成高质量教材编写!
  • BLDC驱动实战:从基础原理到高效控制策略
  • 从零开始:手把手教你用Verilog搭建一个可配置的Cache模块(以Vortex GPGPU为例)
  • 红外遥控NEC协议解码避坑指南:STM32 HAL库输入捕获中断的细节处理
  • 基于Vue 3与.NET 8.0的SignalR实时聊天室:JWT身份验证与WebSocket实战
  • 在边缘设备上跑通Qwen2.5-7B+Agent:我的高通QCS8550开发板实战记录(含Dify配置避坑)
  • WorkshopDL:免费下载Steam创意工坊模组的终极完整指南 [特殊字符]
  • 2026智能锡膏柜厂家推荐:面向SMT智能制造的选型参考 - 企业推荐官【官方】
  • 2026奇点AI语音助手实战指南(仅限首批参会者泄露的8项API调用规范)
  • 淘宝NPM镜像证书过期问题全面解析:从报错到多镜像源切换实战