版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.1 网络通信概述 1.2 网络编程相关类 1.3 网卡信息相关编程类 1.4 .NET使用入门,第一章 网络编程通信基础,1.1 网络通信概述,1.1.1 OSI模型,1.1 网络通信概述,1.1.2 协议、接口、服务,协议:计算机之间的通信语言。 TCP/IP,FTP,HTTP 接口:连接相邻两层的通路。 服务: 面向连接的服务; 面向无连接的服务 。,1.1 网络通信概述,1.1.3 TCP/IP模型,负责收、发IP数据报,把分组发往目标网络或主机;网络互连,为两台主机上的应用程序提供端到端的数据通信。,负责处理实际的应用程序细节。,1.1.3 TCP/IP模型,1.1 网络通信概述,
2、1.1.3 TCP/IP模型,1.1 网络通信概述,1.1.4 IP地址与端口,1.1 网络通信概述,IP 地址:网络号+主机号 A类地址:0 + 前缀( 7) + 后缀(24) B类地址:10 + 前缀(14) + 后缀(16) C类地址:110 + 前缀(21) + 后缀( 8),IP地址 =网络地址+子网地址+主机地址 掩 码 :网络地址、子网地址为1,主机地址为0,特殊IP地址,1.1.4 IP地址与端口,1.1 网络通信概述,1.1 网络通信概述,端口是TCP/IP协议簇中,应用层进程与传输层协议实体间的通信接口(逻辑端口)。 端口是操作系统可分配的一种资源;应用程序(进程)通过系统
3、调用与某端口绑定(binding)后,传输层传给该端口的数据都被相应进程接收,相应进程发给传输层的数据都通过该端口输出。 端口号:类似于文件描述符,每个端口都拥有一个叫作端口号(port number)的整数型标识符, 16位整数,0-65535。,1.1.4 IP地址与端口,注意:请理解物理端口与逻辑端口各自的含义,从实现角度说,端口是一种抽象的软件结构(包括一些数据结构和I/O缓冲区)。,1.1 网络通信概述,UDP与TCP的报文格式,1.1.4 IP地址与端口,1.1 网络通信概述,端口的两种分配方式: 全局分配(静态分配)+本地分配(动态分配); 保留端口:0-1023,全局分配; 自
4、由端口:1024-65535,本地分配;,1.1.4 IP地址与端口,1.1 网络通信概述,网络中两主机的两个进程甲、乙要通信,并且甲首先向乙发送信息,那么甲进程首先要申请一个端口号,同时必须知道乙进程的地址,包括网络层地址和传输层的端口号。,1.1.4 IP地址与端口,1.1.4 IP地址与端口,在Internet中,用一个三元组可以在全局中唯一标识一个应用层进程。 应用层进程=(传输层协议,主机的IP地址,传输层的端口号)。,UDP与TCP的端口各自独立;,1.1 网络通信概述,1.1 网络通信概述,服务器的端口(如HTTP的80)又成为保留端口的工作机制: 服务器的保留端口是专门用来监听
5、客户端的连接请求的,当服务器从保留端口收到一个客户机的连接请求后,立即创建另外一个线程,然后用这个线程继续与那个客户机进行通信;而服务器的保留端口就又可以接收另一个客户机的连接请求。 示意图见下页。,1.1.4 IP地址与端口,服务器创建多个线程来为多个客户服务,1.1 网络通信概述,1.1.4 IP地址与端口,1.2 网络编程相关类,主要涉及命名空间(NameSpace): using System.Net; using System.Net.Sockets; using System.IO; using System.Collections; using System.Threading;
6、 using System.Text; using System.Windows.Forms; ,1.2 网络编程相关类,1,IPAddress类:提供了对IP地址的转换、处理等功能。其Parse方法可将IP地址字符串转换为IPAddress实例。如: IPAddress ip = IPAddress.Parse(“”); IPAddress类提供的几个只读字段: Any ,表示本地系统可用的任何IP地址,通常用于指示服务器应侦 听所有网络接口 Broadcast,表示本地网络的IP广播地址 IPv6Any ,IPv6Loopback ,IPv6None Loopback
7、, 表示系统的回送地址 AddressFamily , 指定IP地址的地址族,2,Dns类:提供了一系列静态的方法,用于获取本地或远程域名的IP等功能,常用方法有: 1) GetHostAddresses方法, 获取指定主机的IP地址,返回一个IPAddress类型的数组。函数原形为: public static IPAddress GetHostAddresses(string hostNameOrAddress); /参数为空字符串则返回本机的地址 例如: IPAddress ip=Dns.GetHostAddresses(); listBox1.Items.AddRange(ip); 2
8、) GetHostName方法获取本机主机名。 例如:string hostname = Dns.GetHostName();,1.2 网络编程相关类,2,Dns类的其它方法: 3) GetHostEntry方法,函数原形为: IPHostEntry GetHostEntry(string hostNameOrAddress ) /参数为空字符串则返回本机的IPHostEntry实例 4) GetHostByXXX类方法,函数原型: IPHostEntry GetHostByName(string name) IPHostEntry GetHostByAddress(IPAddress add
9、ress) 5) Resolve方法,函数原型: IPHostEntry Resolve(string hostname) hostname可表示为IP或域名的形式,1.2 网络编程相关类,3,IPHostEntry类:其实例对象中包含Internet主机的相关信息。 常用属性:AddressList、HostName。 AddressList属性:获取或设置与主机关联的IP地址列表,是一个IPAddress类型的数组,包含了指定主机的所有IP地址; HostName属性则包含了服务器的主机名。 在Dns类中,有一个专门获取IPHostEntry对象的方法,通过IPHostEntry对象,可以
10、获取本地或远程主机的相关IP地址。,1.2 网络编程相关类,例如: listBox1.Items.Add(“搜狐新闻的服务器IP地址为:); IPAddress ip = Dns.GetHostEntry().AddressList; listBox1.Items.AddRange(ip); listBox1.Items.Add(本机IP地址为:); ip =Dns.GetHostEntry(Dns.GetHostName() .AddressList; listBox1.Items.AddRange(ip);,1.2 网络编程相关类,4,IPEndPoint类:包含了应用程序连接到主机上的服
11、务所需的IP地址和端口信息。 IPEndPoint类常用的构造函数为: public IPEndPoint(IPAddress, int); 其中第一个参数指定IP地址,第二个参数指定端口号。 IPEndPoint iep=new IPEndPoint( IPAddress.Parse(“1”),80);,1.2 网络编程相关类,代码示例 : IPAddress serverIP= Dns.GetHostAddresses(Dns.GetHostName(); 则 serverIP0 表示 ?,1.2 网络编程相关类,项目示例 : Windows应用程序: IPExa
12、mple,1.2 网络编程相关类,1.3 网卡信息相关编程类,System.Net.NetworkInformation命名空间 1,NetworkInterface类:提供了网络适配器的配置和统计信息。 2,IPInterfaceProperties类:提供了检测IPv4和IPv6的网络适配器地址信息。 例如: NetworkInterface adapters=NetworkInterface.GetAllNetworkInterface(); IPInterfaceProperties adapterProperties=adapters0.GetIPProterties(); 3,IPGlobalProperties类:提供了检测本机接收和发送数据的情况。 4,Ping类:可以检测是否可访问远程计算机。,1.4 .NET使用入门,1.4.1 基本概念,1, 解决方案: 可以包含若干个项目 2, 项目的类型: 控制台程序/Windows应用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年山东省考行测真题及答案
- 2026年燃气输配场站运行工理论知识考核试题及答案
- 2026年全国“动物疫病防治员”技能及理论知识考试题库(含答案)
- 2026年贵州省黔南州中考模拟试题物理附答案
- 2026年青海省格尔木市高三历史上册期末考试测试卷(考点梳理)附答案
- 2025年安徽省天长市高考历史自测卷参考答案
- 2025年四川省万源市高二历史下册期末考试试卷及参考答案一套
- 2026年江西省高安市高考历史试卷【巩固】附答案
- 中医执业助理医师执业范围
- 2025年山东省新泰市高二历史上册期末考试试卷含答案【夺分金卷】
- 2026人教版三年级下册道德与法治期末复习知识点总结梳理+教材问答解答
- 电子产品仓库安全管理与防范措施
- 汽车装调工(高级)职业技能鉴定理论考试题库-下(多选、判断题)
- 店面借给别人合同协议书
- 酒店客房管理运营策略手册
- 技校学生行为规范养成教育
- 活化石-鲎课件
- 2024年深圳市中考历史试卷真题(含答案解析)
- GB/T 30661.10-2024轮椅车座椅第10部分:体位支撑装置的阻燃性要求和试验方法
- 机械设备设计基础考核试卷
- 《食品安全抽样检验工作规范》附件文书2024
评论
0/150
提交评论