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

将保存或可传输的格式转换为类对象的过程
相关推荐
chian-ocean2 小时前
深入 CANN:使用 `tbe-op` 构建自定义高性能算子
网络
中议视控2 小时前
可编程网络中央控制系统主机通过红外发射棒控制空调电视等红外设备
网络·物联网·5g
数据安全科普王4 小时前
打破中心枷锁:P2P网络如何用“去中心化”重构互联网通信
网络·去中心化·p2p
爱吃烤鸡翅的酸菜鱼4 小时前
CANN ops-nn激活函数与池化算子深度解析
网络·开源·aigc
saber_andlibert5 小时前
TCMalloc底层实现
java·前端·网络
飞凌嵌入式7 小时前
用「EN 18031认证」通关欧盟,这张 “网络安全护照” 已就位
网络·安全·能源
Trouvaille ~7 小时前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
JoySSLLian8 小时前
手把手教你安装免费SSL证书(附宝塔/Nginx/Apache配置教程)
网络·人工智能·网络协议·tcp/ip·nginx·apache·ssl
Zach_yuan8 小时前
自定义协议:实现网络计算器
linux·服务器·开发语言·网络
猫头虎9 小时前
如何解决 OpenClaw “Pairing required” 报错:两种官方解决方案详解
网络·windows·网络协议·macos·智能路由器·pip·scipy