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.反序列化

将保存或可传输的格式转换为类对象的过程
相关推荐
尼古拉斯·纯情暖男·天真·阿玮2 小时前
实验五 拒绝服务攻击实验
网络·智能路由器
Xの哲學2 小时前
Linux Tasklet 深度剖析: 从设计思想到底层实现
linux·网络·算法·架构·边缘计算
idcardwang2 小时前
esp32s3-idf使用smart_config一键配网
网络
googleccsdn3 小时前
ENSP Pro Lab笔记:配置BGP EVPN VXLAN双栈(2)
网络·笔记·网络协议
min1811234563 小时前
HR人力资源招聘配置流程图制作教程
大数据·网络·人工智能·架构·流程图·求职招聘
weixin_516023073 小时前
ssh配合密钥连接
服务器·网络·ssh
tobias.b4 小时前
408真题解析-2009-36-网络-交换机转发机制
网络·智能路由器·408考研·408真题解析
Dreamboat_LX4 小时前
websocket-sockjs-stomp
网络·websocket·网络协议
一条闲鱼_mytube5 小时前
智能体设计模式(二)反思-工具使用-规划
网络·人工智能·设计模式