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

将保存或可传输的格式转换为类对象的过程
相关推荐
为何创造硅基生物21 小时前
ESP32S3的RGB屏幕漂移问题
网络
好运的阿财21 小时前
process 工具与子agent管理机制详解
网络·人工智能·python·程序人生·ai编程
周杰伦fans21 小时前
C# required 关键字详解
开发语言·网络·c#
洛水水21 小时前
深入理解网络编程核心:Reactor、IOCP 与异步 IO 模型详解
网络·iocp
favour_you___1 天前
epoll惊群问题与解决
服务器·网络·tcp/ip·epoll
北方的流星1 天前
华三网络设备的路由重定向配置
运维·网络·华三
.select.1 天前
TCP 3
服务器·网络·tcp/ip
阿捏利1 天前
详解网络协议(十六)UDP协议
网络·网络协议·udp
芯智工坊1 天前
第13章 Mosquitto监控与日志管理
前端·网络·人工智能·mqtt·开源
派大星酷1 天前
Cookie、Session、Token、JWT 原理 + 流程 + 区别 + 实战
java·网络