2022年C#网络编程 .pdf
《2022年C#网络编程 .pdf》由会员分享,可在线阅读,更多相关《2022年C#网络编程 .pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、IPAddress ip = IPAdress.Parse( “ 192.168.1.1” ); IPAddress类提供了7 个只读字段,分别代表程序中使用的特殊的IP地址:Any 表示本地系统可用的任何IPV4地址Broadcast 表示本地IPV4网络广播地址IPV6Any Socket.Bind 方法用此字段指出本地系统可用的IPV6 地址IPV6Loopback 表示系统的IPV6 回送地址IPV6None 表示系统上没有可用的IPV6网络接口Loopback 表示系统的IPV4 回送地址None 表示系统上没有可用的IPV4网络接口GetHostAddresses 方法获取指定主机
2、的IP地址,返回一个IPAddress类型的数组,函数原型为:Public static IPAddress GetHostAddresses(string hostNameOrAddress); 例如:IPAddress ip = Dns.GetHostAddresses(“ ” ); listBox1.Items.AddRange(ip); GetHostName 方法 : 获取本机主机名。例如:String hostname = Dns.GetHostName(); IPHostEntry 类 包含两个常用的属性:1.AddressList 属性的作用是获取或设置与主机相关联的IP 地址
3、列表,是一个IPAddress类型的数组,包含了指定主机的所有IP地址。2.HostName 属性包含了服务器的主机名。例子: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
4、(ip); IpEndPoint 类的构造函数:Public IPEndPoint(IPAddress,int); IPAddress参数指定IP地址, ,int 指定相应的端口号。网络地址和服务端口的组合称为端点。在C#中使用 IPEndPoint 类表示这个端点,该类包含了应用程序连接到主机的服务所需的IP地址和端口信息。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 7 页 - - - - - - - - - 结合 IPAddress类、 Dns 类、 IPHost
5、Entry 类和 IPEndPoint类的使用方法运行下面的例子:Private void buttonLocal_Click(object sender , EventArgs e) listBox1.Items.Clear(); string name = Dns.GetHostName(); listBox1.Items.Add( “ 本机主机名: ” + name); IPHostEntry me = Dns.GetHostEntry(name); listBox1.Items.Add( “ 本机所有 IP地址: ” ); foreach(IPAddress ip in me.Addr
6、essList) listBox1.Items.Add(ip); IPAddress localip = IPAddress.Parse( “ 127.0.0.1” ); IPEndPoint iep = new IPEndPoint(localip,80); listBox1.Items.Add( “ The IPEndPoint is:” + iep.ToString(); listBox1.Items.Add( “ The max port number is: ” +IPEndPoint.MaxPort); listBox1.Items.Add( “ The min port numb
7、er is: ” +IPEndPoint.MinPort); Private void buttonRemote_Click(object sender , EventArgs e) listBox1.Items.Clear(); IPHostEntry remoteHost = Dns.GetHostEntry( “ ” ); IPAddress remoteIP = remoteHost.AddressList; listBox1.Items.Add( 百度: ); foreach(IPAddress ip in remoteIP) IPEndPoint iep = new IPEndPo
8、int(ip,80); listBox1.Items.Add(iep); Socket 类包含在 System.Net.Sockets命名空间中。 Socket 类的构造函数为:Public Socket(AddressFamily addressFamily,SocketType SocketType,ProtocolType protocolType); AddressFamily为 网 络 类 型 , 指 定Socket使 用 的 寻 址 方 案 , 例 如AddressFamily.InterNetWork 表明为 IP 版本 4 的地址; SocketType 指定 Socket 的
9、类型,例如 SocketType.Stream 表明连接是基于流套接字的,二SocketType.Dgram 表示连接是基于数据报套接字的;ProtocolType 指定 Socket 使用的协议,例如ProtocolType.Tcp 表明连接协议是TCP协议,而 ProtocolType.Udp 则表明连接协议是UDP协议。SocketType ProtocolType 说明Dgram Udp 无连接通信Stream Tcp 面向连接通信Raw Icmp Internet 控制报文协议Raw Raw 简单 IP 包通信名师资料总结 - - -精品资料欢迎下载 - - - - - - - -
10、- - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 7 页 - - - - - - - - - 创建套接字实例:Socket socket = new Socket(AddressFamily.InterNetWork,SocketType.Stream,ProtocolType.Tcp) 套接字常用属性属性说明AddressFamily 获取套接字的Address family Avilable 从网络中获取准备读取的数据数量Blocking 获取或设置表示套接字是否处于阻塞模式Connected 获取一个值,该值表明套接字是否与最后完成发送或接
11、收操作的远程设备得到连接LocalEndPoint 获取套接字的本地EndPoint 对象ProtocolType 获取套接字的协议类型RemoteEndPoint 获取套接字的远程EndPoint 对象SocketType 获取套接字的类型Socket 对象的 SetSocketOption 方法设置套接字的四种重载方法:Public void SetSocketOption(SocketOptionLevel ol,SocketOptionName on,Boolean value) Public void SetSocketOption(SocketOptionLevel ol,Sock
12、etOptionName on,byte value) Public void SetSocketOption(SocketOptionLevel ol,SocketOptionName on,int value) Public void SetSocketOption(SocketOptionLevel ol,SocketOptionName on,object value) Ol 定义套接字选项的类型,可选择类型有:IP、IPV6、 Socket、Tcp 、Udp。SocketOptionLevel SocketOptionName 说明IP AddMembership 增加一个 IP组成
13、员IP HeaderIncluded 指出发送到套接字的数据将包括IP头IP IPOptions 指定 IP 选项插入到输出的数据包中IP MulticastInterface 设置组播包使用的接口IP MultiLoopBack IP组播回送IP PacketInformation 返回关于接收包的信息IP UnBlockSource 设置套接字为无阻塞模式Socket AcceptConnection 如果为真,套接字正在侦听Socket Broadcast 如果为真, 允许在套接字上发送广播信息Socket MaxConnections 设置使用的最大队列长度Socket PacketI
14、nformation 返回接收到的套接字信息Socket ReceiveBugffer 接收套接字的缓存大小Socket ReceiveTimeout 接收套接字的超时时间Socket SendBuffer 发送套接字的缓存大小Socket SendTimeout 发送套接字的超时时间Socket Type 获取套接字的类型Socket UseLookback 使用回传Tcp NoDelay 为发送合并禁用Nagle 算法Udp ChecksumConverage 设置或获取UDP 校验和覆盖Udp Nochecksum 发送校验和设置为零的UDP数据报Value 参数指定 SocketOpt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C#网络编程 2022 C# 网络 编程
限制150内