01. 通信前置知识

1.Ip地址和端口类

2.域名解析

3.序列化和反序列化


1.Ip地址和端口类

csharp 复制代码
1).IPAddress类: 用于处理IP地址

a.IPAddress.Parse(string ip)

解析字符串形式的IP地址(如 "127.0.0.1"), 无效IP会抛异常

b.IPAddress.TryParse(string ip, out IPAddress result)

安全解析IP地址(返回 bool, 不抛异常), 推荐使用
csharp 复制代码
2).IPEndPoint类(IP地址 + 端口): 封装"IP地址 + 端口号"的组合

using System;
using System.Net;

class IPEndPointDemo
{
    static void Main()
    {
        // 步骤1:先创建IPAddress
        IPAddress ip = IPAddress.Parse("192.168.1.100");
        
        // 步骤2:创建IPEndPoint(IP+端口)
        int port = 8080;
        IPEndPoint endPoint = new IPEndPoint(ip, port);

        // 访问属性
        Console.WriteLine("端点IP:" + endPoint.Address); // 输出:192.168.1.100
        Console.WriteLine("端点端口:" + endPoint.Port); // 输出:8080

        // 验证端口范围(避免无效端口)
        if (port >= IPEndPoint.MinPort && port <= IPEndPoint.MaxPort)
        {
            Console.WriteLine("端口号合法");
        }
        else
        {
            Console.WriteLine("端口号超出范围(0-65535)");
        }
    }
}

2.域名解析

csharp 复制代码
域名解析就是将好记的域名解析成IP, IP地址是网络上标识站点的数字地址, 但是IP地址相对来

说记忆困难, 所以为了方便记忆, 采用域名来代替IP地址标识站点地址

1).IPHostEntry是域名解析后的返回值, 可以通过该对象获取IP地址, 主机名等等信息

a.AddressList: 获取关联IP

b.Aliases: 获取主机别名列表

c.HostName: 获取DNS名称

2).DNS是一个静态类, 用它根据域名获取IP地址

IPHostEntry entry = Dns.GetHostEntry("www.baidu.com");

3.序列化和反序列化

csharp 复制代码
网络通信中, 我们把想要传递的类对象信息化为2进制数据(一般为byte字节数组), 再将2进制

数据通过网络传输给远端设备; 远端设备获取到该2进制数据后再将其反序列化为对应的类对象

a.序列化

将类对象信息可保存或可传输的格式的过程

b.反序列化

将保存或可传输的格式转换为类对象的过程
相关推荐
dog25025 分钟前
写一个时延固定的拥塞控制
网络
酣大智1 小时前
华为 VRRP的抢占延迟时间
网络·tcp/ip·vrrp
hengmeida1 小时前
楼宇控制柜标准化项目交付完整规范
大数据·网络·笔记
2501_937860941 小时前
上篇:网络编程基础与UDP套接字编程
java·网络·计算机网络
xixiaoyunya2 小时前
制造业生产数据备份:在“不停产“前提下的自动化实践
网络·安全
Figo_Cheung2 小时前
Figo权重动力学:递归本体论与跨尺度演化的形式化基础——揭示:宇宙的演化,本质上就是一场由无数观测者共同参与的、永不停歇的、跨尺度的权重重构盛宴。
网络·人工智能·量子计算
j7~2 小时前
【Linux】三十八.C++ 手写 HTTP 服务器:裸 socket + fork 多进程,从 HTTP 报文解析到浏览器打开网页
linux·网络·网络协议·学习·http·网络编程
FW-Linker2 小时前
偏远山区户外直播网络优化:多链路聚合如何保障稳定低时延传输
网络·5g·智能路由器
酣大智6 小时前
网络协议计时器 & 发包间隔汇总
运维·网络·tcp/ip
Hrain-AI12 小时前
多 Agent 并行不打架:worktree 隔离与反馈回流落地(附脚本)
网络·数据库·人工智能·架构