




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络程序设计基础1面向链接的套接字编程(TCP)2面向无连接的套接字编程(UDP)3案例分析4Contents目录网络程序设计基础1面向链接的套接字编程(TCP)2面向无连接的套接字编程(UDP)3案例分析4Contents目录10.1网络程序设计基础网络编程的目的就是指直接或间接地通过网络协议与其他计算机进行通信。网络编程中有两个主要的问题:一是如何准确地定位网络上一台或多台主机,另一个就是找到主机后如何可靠、高效地进行数据传输。在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一的确定Internet上的一台主机。而TCP层则提供面向应用的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。10.1网络程序设计基础网络的基本概念IP地址:IPv4、IPv6域名端口号协议网络协议TCP协议UDP协议两种协议的比较10.1网络程序设计基础.NET当中的类——IPAddress10.1网络程序设计基础.NET当中的类——IPEndPoint10.1网络程序设计基础.NET当中的类——套接字Socket套接字其实就是源IP地址和目的IP地址以及源端口号和目的端口号的组合。要通过Internet进行通信,至少需要一对套接字,其中一个运行在客户端,称之为ClientSocket,另一个运行于服务器端面,称为ServerSocket。根据连接启动的方式以及本地要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听、客户端请求、连接确认。10.1网络程序设计基础.NET当中的类——套接字Socket10.1网络程序设计基础.NET当中的类——网络流NetworkStreamNetworkStream类提供用于网络访问的基础数据流。它提供了在阻塞模式下通过Stream套接字发送和接收数据的方法。要创建NetWorkStream,必须提供连接的Socket。也可以指定NetWorkStream对所提供的Socket具有哪些FileAccess权限。默认情况下,关闭NetworkStream并不会关闭所提供的Socket。如果要使NetworkStream拥有关闭所提供的Socket的权限,则必须将OwnsSocket构造函数参数的值指定为true。具体属性和方法详见MSDN网络程序设计基础1面向链接的套接字编程(TCP)2面向无连接的套接字编程(UDP)3案例分析4Contents目录10.2面向链接的套接字编程(TCP)IP连接领域有两种通信方式:面向连接和无连接的。在面向连接的套接字中,使用TCP协议来建立两个IP地址端点之间的会话。一旦建立了这种连接,就可以在设备之间可靠地传输数据。在使用套接字通信过程中主动发起通信的一方被称为客户端,接收请求进行通信的一方成为服务端。为了建立面向连接的套接字,客户端和服务端必须分别进行编程。10.2面向链接的套接字编程(TCP)在使用面向连接的套接字时,首先必须要知道建立这个连接的过程,也就是常说的三次握手的过程,连接建立好之后,再进行数据的传输,数据传输完毕则关闭连接,此时,基于连接的通信则要进行四次挥手过程才能断开整个连接。10.2面向链接的套接字编程(TCP)服务端程序创建套接字Socket()绑定本地地址及端口Bind()开始监听Listen()等待客户端请求接受客户端连接或接受数据Receive()关闭套接字Close()10.2面向链接的套接字编程(TCP)客户端程序创建套接字Socket()绑定服务器端口与地址Bind()建立与服务器连接Connect()发送或接收数据Send()关闭套接字Close()分析运行结果?10.2面向链接的套接字编程(TCP)使用TcpListener和TcpClient在System.Net.Sockets命名空间中有两个专门用于TCP协议编程的类:TcpClient和TcpListener。这两个类提供了直观的容易使用的属性和方法,从而降低了TCP协议编程的难度。TcpListener类提供一些简单方法,用于在阻塞同步模式下侦听和接收传入连接请求。客户端使用TcpClient或Socket来连接TcpListener。TcpClient类为TCP网络服务提供客户端连接。TcpClient类提供了一些简单的方法,用于在同步阻塞模式下通过网络来连接、发送和接收流数据。案例分析网络程序设计基础1面向链接的套接字编程(TCP)2面向无连接的套接字编程(UDP)3案例分析4Contents目录10.3面向无连接的套接字编程(UDP)UDP协议使用无连接的套接字,无连接的套接字不需要在网络设备之间发送连接信息,因此,通信的两端基本上是对等的,很难确定谁是服务器,谁是客户端。不妨把先发送信息的一端看成客户端,先接收数据的一端看成是服务器。10.3面向无连接的套接字编程(UDP)面向无连接的套接字程序的基本结构10.3面向无连接的套接字编程(UDP)服务端/客户端:创建Socket。绑定本地/远程地址及端口。使用ReceiveFrom()接收数据。使用SendTo()发送数据。关闭Socket。udpSocket.Close();10.3面向无连接的套接字编程(UDP)与面向连接的套接字的主要区别:使用UDP协议进行网络通信,不需要事先建立连接,知道对方的地址即可发送或接收数据。建立Socket时指定SocketType为SocketType.Dgram,ProtocolType为ProtocolType.UDP协议。不需要执行Connect()方法建立连接。直接使用SentTo()或ReceiveFrom()发送或接收数据。10.3面向无连接的套接字编程(UDP)使用UdpClient:编写基于UDP协议的无连接程序,还可以使用UdpClient类。UdpClient类提供了一些简单的方法,用于在阻塞同步模式下发送和接收无连接UDP数据包。因为UDP是无连接传输协议,所以不需要在发送和接收数据前建立远程主机连接。但可以选择使用下面两种方法之一来建立默认远程主机:使用远程主机名和端口号作为参数创建UDPClient类的实例创建UdpClient类的实例,然后调用Connect()方法案例分析网络程序设计基础1面向链接的套接字编程(TCP)2面向无连接的套接字编程(UDP)3案例分析4Contents目录10.4案例分析设计一个Windows窗体应用程序,能够实现一对一聊天。使用TcpListener
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国RO反渗透纯净水设备市场现状分析及前景预测报告
- 2025至2030年中国PVC吹气模市场现状分析及前景预测报告
- 2025至2030年中国LED发光字模块行业发展研究报告
- 2025至2030年中国EPS泡沫模具市场分析及竞争策略研究报告
- 2025至2030年不锈钢无指纹板项目可行性研究报告
- 2025年镍钴锰复合物行业深度研究报告
- 2025-2030智能手环行业风险投资发展分析及投资融资策略研究报告
- 2025-2030新交通系统行业市场发展分析及前景趋势与投资研究报告
- 2025-2030数码直印机行业市场深度分析及发展策略研究报告
- 2025-2030换向阀行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 红楼梦二十三回内容概括
- 急诊科的喉头水肿处理
- 劳务投标技术标
- 专车接送服务租赁合同
- 闪耀明天 二声部合唱简谱
- 国开2023秋《人文英语4》期末复习写作练习参考答案
- 急性髓系白血病临床路径(2016年版)
- 水表及阀门安装施工方案
- 23S519 小型排水构筑物(带书签)
- 招投标专员绩效考核表
- 2023上海松江区初三二模数学试题及答案
评论
0/150
提交评论