11.网络通信-通信必备知识-IP地址和端口类
11.1 知识点
IP类和端口类用来干什么?
通过之前的理论知识学习,我们知道想要进行网络通信,进行网络连接,首先我们需要找到对应设备,IP和端口号是定位网络中设备必不可少的关键元素。在C#中提供了对应的IP和端口相关的类来声明对应信息,对于之后的网络通信是必不可少的内容。
IPAddress类
- 命名空间:System.Net;
- 类名:IPAddress
初始化IP信息IPAddress对象的方式
用byte数组进行初始化
//1.用byte数组进行初始化
byte[] ipAddress = new byte[] { 118, 102, 111, 11 };
IPAddress iPAddress1 = new IPAddress(ipAddress);
用long长整型进行初始化
//2.用long长整型进行初始化
//4字节对应的长整型 传入的是16进制 一般不建议大家使用
//0x 是16进制固定的前缀
//118 转成16进制为 0x 76
//102 转成16进制为 0x 66
//111 转成16进制为 0x 6F
//11 转成16进制为 0x 0B
IPAddress iPAddress2 = new IPAddress(0x76666F0B);
使用字符串转换
//3.推荐使用的方式 使用字符串转换
IPAddress iPAddress3 = IPAddress.Parse("118.102.111.11");
特殊IP地址
127.0.0.1代表本机地址
静态成员
//获取可用的IPv6地址
//IPAddress.IPv6Any
IPEndPoint类
- 命名空间:System.Net;
- 类名:IPEndPoint
- IPEndPoint类将网络端点表示为IP地址和端口号,表现为IP地址和端口号的组合
- 端口号没有自己的类
- 用IP地址和端口号表示计算机的一个程序
初始化IPEndPoint方式
传入 long长整型IP地址 和 端口号 进行初始化
//传入 long长整型IP地址 和 端口号 进行初始化
IPEndPoint iPEndPoint1 = new IPEndPoint(0x79666F0B, 8080);
传入 IP地址对象 和 端口号 进行初始化
// 推荐使用
IPEndPoint iPEndPoint2 = new IPEndPoint(IPAddress.Parse("118.102.111.11"), 8080);
总结
IPAddress对象推荐直接传入IP地址字符串进行初始化
//IP地址对象
IPAddress iPAddress = IPAddress.Parse("IPv4地址");
IPEndPoint对象推荐传入IPAddress和端口号进行初始化
//目标通信程序对象
IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, 8080);
11.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using System.Net;
using UnityEngine;
public class Lesson11_网络通信_通信必备知识_IP地址和端口类 : MonoBehaviour
{
void Start()
{
#region 知识点一 IP类和端口类用来干什么?
//通过之前的理论知识学习
//我们知道想要进行网络通信,进行网络连接
//首先我们需要找到对应设备,IP和端口号是定位网络中设备必不可少的关键元素
//C#中提供了对应的IP和端口相关的类 来声明对应信息
//对于之后的网络通信是必不可少的内容
#endregion
#region 知识点二 IPAddress类
//命名空间:System.Net;
//类名:IPAddress
//初始化IP信息IPAddress对象的方式
//1.用byte数组进行初始化
byte[] ipAddress = new byte[] { 118, 102, 111, 11 };
IPAddress iPAddress1 = new IPAddress(ipAddress);
//2.用long长整型进行初始化
//4字节对应的长整型 传入的是16进制 一般不建议大家使用
//0x 是16进制固定的前缀
//118 转成16进制为 0x 76
//102 转成16进制为 0x 66
//111 转成16进制为 0x 6F
//11 转成16进制为 0x 0B
IPAddress iPAddress2 = new IPAddress(0x76666F0B);
//3.推荐使用的方式 使用字符串转换
IPAddress iPAddress3 = IPAddress.Parse("118.102.111.11");
//特殊IP地址
//127.0.0.1代表本机地址
//一些静态成员
//获取可用的IPv6地址
//IPAddress.IPv6Any
#endregion
#region 知识点三 IPEndPoint类
//命名空间:System.Net;
//类名:IPEndPoint
//IPEndPoint类将网络端点表示为IP地址和端口号,表现为IP地址和端口号的组合
//端口号没有自己的类
//用IP地址和端口号表示计算机的一个程序
//初始化方式
//传入 long长整型IP地址 和 端口号 进行初始化
IPEndPoint iPEndPoint1 = new IPEndPoint(0x79666F0B, 8080);
//传入 IP地址对象 和 端口号 进行初始化 推荐使用
IPEndPoint iPEndPoint2 = new IPEndPoint(IPAddress.Parse("118.102.111.11"), 8080);
#endregion
#region 总结
//IP地址对象
IPAddress iPAddress = IPAddress.Parse("IPv4地址");
//目标通信程序对象
IPEndPoint iPEndPoint = new IPEndPoint(iPAddress, 8080);
#endregion
}
}
11.3 练习题
声明一个IP地址为本机IP,端口号为8080的IPEndPoint对象
IPEndPoint iIPEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8080);
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com