C#网络应用编程,实验2:IP地址转换和域名解析练习

简介: C#网络应用编程,实验2:IP地址转换和域名解析练习

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

实验2:IP地址转换和域名解析练习

1.通过本实验,复习本教材各章例子里的前端主界面和子页面的实现。
2、通过本实验,熟悉和掌握IPAddress类、IPEndPoint类、IPHostEntry类、DNS类的使用。

1、创建一个WPF应用程序项目

2、将App.xaml中的Application.Resources节内容改为

在这里插入图片描述

3、修改MainWindow.xaml及代码隐藏类

MainWindow.xaml

在这里插入图片描述

MainWindow.xaml.cs主要内容

在这里插入图片描述

4、用鼠标右键单击项目,选择【添加】-【新建文件夹】命令,在项目中添加一个名为Examples的文件夹。

5、用鼠标右键单击Examples文件夹,选择【添加】-【页】命令,在该文件夹下添加一个名为Page1.xaml的页。之后再按同样方法添加页Page2.xaml和Page3.xaml。

6、修改Page1.xaml的核心代码

在这里插入图片描述

Page1.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Net;
using System.Net.Sockets;

namespace 实验1_WPF练习.Examples
{
    /// <summary>
    /// Page1.xaml 的交互逻辑
    /// </summary>
    public partial class Page1 : Page
    {
        public Page1()
        {
            InitializeComponent();
        }

        private void btn_Click(object sender, RoutedEventArgs e)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("获取www.cctv.com的所有IP地址:");
            try
            {
                IPAddress[] ips = Dns.GetHostAddresses("www.cctv.com");
                foreach (IPAddress ip in ips)
                { sb.AppendLine(ip.ToString()); }
            }
            catch (Exception ex)
            { MessageBox.Show(ex.Message, "获取失败"); }
            string hostName = Dns.GetHostName();
            sb.AppendLine("获取本机所有IP地址:");
            IPHostEntry me = Dns.GetHostEntry(hostName);
            foreach (IPAddress ip in me.AddressList)
            {
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                { sb.AppendLine("IPv4:" + ip.ToString()); }
                else if (ip.AddressFamily == AddressFamily.InterNetworkV6)
                { sb.AppendLine("IPv6:" + ip.ToString()); }
                else { sb.AppendLine("其他:" + ip.ToString()); }
            }
            IPAddress localip = IPAddress.Parse("::1"); //IPv6回路测试地址
            Output(sb, localip);
            IPAddress localip1 = IPAddress.Parse("127.0.0.1");//IPv4回路测试地址
            Output(sb, localip1);
            textBlock1.Text = sb.ToString();
        }
        private static void Output(StringBuilder sb, IPAddress localip)
        {
            IPEndPoint iep = new IPEndPoint(localip, 80);
            if (localip.AddressFamily == AddressFamily.InterNetworkV6)
            { sb.Append("IPv6端点: " + iep.ToString()); }
            else { sb.Append("IPv4端点: " + iep.ToString()); }
            sb.Append(",端口 " + iep.Port);
            sb.Append(",地址 " + iep.Address);
            sb.AppendLine(",地址族 " + iep.AddressFamily);
        }


    }
}

结果

在这里插入图片描述

目录
相关文章
|
4天前
|
运维 JavaScript Java
Serverless 应用引擎产品使用之在阿里云函数计算中想为两个不同的服务分别开通自定义域名如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
27 1
|
2天前
|
JSON Android开发 数据格式
Android框架-Google官方Gson解析,android开发实验报告总结
Android框架-Google官方Gson解析,android开发实验报告总结
|
4天前
|
网络协议 Unix Python
Python编程-----网络通信
Python编程-----网络通信
8 1
|
4天前
|
网络协议 Unix 网络性能优化
网络编程 —— TCP 和 UDP 编程详解
网络编程 —— TCP 和 UDP 编程详解
网络编程 —— TCP 和 UDP 编程详解
|
4天前
|
存储 缓存 网络协议
【计网·湖科大·思科】实验二 计算机网络的寻址问题
【计网·湖科大·思科】实验二 计算机网络的寻址问题
4 0
|
4天前
|
网络协议 Java 网络安全
【计算机网络】—— Socket通信编程与传输协议分析
【计算机网络】—— Socket通信编程与传输协议分析
12 0
|
4天前
|
安全 Java Linux
企业微信应用结合Cpolar内网穿透实现固定域名验证回调本地接口服务
企业微信应用结合Cpolar内网穿透实现固定域名验证回调本地接口服务
|
4天前
|
C++
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P6】大二C++实验作业-模板(4道代码题)【解析,注释】
|
4天前
|
Serverless C++ 容器
【期末不挂科-C++考前速过系列P5】大二C++实验作业-多态性(3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P5】大二C++实验作业-多态性(3道代码题)【解析,注释】
|
4天前
|
C++ 芯片
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】
【期末不挂科-C++考前速过系列P4】大二C++实验作业-继承和派生(3道代码题)【解析,注释】

相关产品

  • 云解析DNS
  • 推荐镜像

    更多
    http://www.vxiaotou.com