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

将保存或可传输的格式转换为类对象的过程
相关推荐
米高梅狮子44 分钟前
03.网络类服务实践
linux·运维·服务器·网络·kubernetes·centos·openstack
June`1 小时前
网络编程时内核究竟做了什么???
linux·服务器·网络
原来是猿1 小时前
腾讯云服务器端口开放完全指南
服务器·网络·腾讯云
你的保护色2 小时前
【无标题】
java·服务器·网络
楼兰公子2 小时前
RK3588 + Linux7.0.3 网络工程调试错误速查手册
linux·网络·3588
IpdataCloud2 小时前
稳定的企业级IP数据接口怎么选?可用性指标+离线库高可用方案
运维·网络·tcp/ip
HMS工业网络2 小时前
如何解决使用TwinCAT时EtherCAT网络出现“Sync Manager Watchdog”报错
网络·网络协议·网络安全
逸巽散人7 小时前
【无标题】
网络
kaoa0008 小时前
Linux入门攻坚——77、虚拟化技术基础原理-2
linux·服务器·网络
沪漂阿龙8 小时前
面试题详解:大模型设计沙箱全攻略——LLM Sandbox、Agent 工具执行、代码沙箱、安全隔离、权限控制与工程落地
网络·数据库·人工智能·安全