socket网络编程

socket网络编程

ID:34616936

大小:334.85 KB

页数:20页

时间:2019-03-08

socket网络编程_第1页
socket网络编程_第2页
socket网络编程_第3页
socket网络编程_第4页
socket网络编程_第5页
资源描述:

《socket网络编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、基于Socket的网络编程Socket又称为套接字,是采用客户/服务器模型设计的网络通信接口。Socket接口最早使用在Unix系统中,Windows提供的Socket通信称为WinSock,目前存在v1.1版本(被封装在WinSock.dll动态链接库文件中)和v2.0版本(被封装在WS2_32.dll动态链接库文件中)。v1.1版本是针对Internet而设计的,在v2.0版本中已经不再局限于TCP/IP协议,而是根据Microsoft提出的Windows开放系统架构(WindowsOpenSystemArchitecture,WOSA)模型,定义了一个标准服务

2、提供接口(StandardServiceProviderInterface,SPI)。通过SPI编程接口,WinSock的应用范围扩大到绝大部分的网络和协议。.NETFramework在System.Net.Sockets名空间提供了对WinSock的托管封装,提供Socket、TcpListener、TcpClient、UdpClient以及NetworkStream等类来实现Socket网络通信。类说明Socket对WinSock的封装和扩展TcpListener封装使用TCP协议进行网络侦听的SocketTcpClient封装使用TCP协议进行网络通信的Soc

3、ketUdpClient封装使用UDP协议进行网络通信的SocketNetworkStream使用流的概念封装网络通信的数据在这些类中,Socket类为核心类,它提供了使用WinSock进行网络通信的基本功能。一、网络编程概念网络中主机间的通信是通过网络协议实现的。目前,存在两种网络通信协议模型:开放系统互连(OpenSystemInterconnection,OSI)参考模型和TCP/IP模型。1、OSI参考模型OSI参考模型是一个多层通信协议模型,所谓开放是指允许任意两个具有不同基本体系结构的系统进行通信的一套协议族。OSI参考模型最初是由国际化标准组织(Int

4、ernationalStandardOrganization,ISO)开发,1983年成为国际标准。OSI参考模型将网络划分成7层,从上之下分别是:应用层(ApplicationLayer)、表示层(PresentationLayer)、会话层(SessionLayer)、传输层(TransportLayer)、网络层(NetworkLayer)、数据链路层(DataLinkLayer)和物理层(PhysicalLayer)。其中,每一层只与其上下两层直接通信,高层协议偏重于处理用户服务和各种应用请求,底层协议注重于处理实际的信息传输。分层的目的是在于将各种特定的功

5、能分离,并使其实现对其他层来说是透明且相互独立的。下图描述了一个包含通信子网的OSI网络通信模型。(1)物理层物理层定义了与物理介质的连接机制,而不是物理介质本身。按照OSI模型,物理层在物理介质之上,它提供以比特(Bit)为单位形成比特流来传送来自数据链路层的数据,而不理会数据的格式和含义,同样,当接受数据(比特流)时也不加分析直接传送到数据链路层。即对二进制数据(比特)进行编码(发送到物理介质上)和解码(从物理介质上接受)。如:以太网的曼切斯特编码,光纤分布式接口(FiberDistributedDataInterface,FDDI)的4B5B编码。物理层也负责

6、通知数据链路层何时访问介质,如以太网的载波监听功能。此外,在某种程度上,物理层也包含连接策略,主要有:电路交换、报文交换和分组交换。(2)数据链路层数据链路层也称为链路控制层(DataLinkControlLayer,DLC),负责管理数据格式、链路的管理、相邻网络节点的信息流动以及流量控制。在数据链路层中,数据常以帧(Frame)为单位进行传输,帧通常是由包含起始标志的报头或报头位、寻址信息、循环冗余码(CyclicRedundancyCheck,CRC)组成。循环冗余码用来保证帧在传输过程中的完整性,将无错的帧发送到网络层。OSI模型中的数据链路层与电气与电子工

7、程师协会(InstituteofElectricalandElectronicEngineers,IEEE)定义的有所不同。IEEE定义的数据链路层包含逻辑链路控制(LogicalLinkControlLayer,LLC)和介质访问控制(MediaAccessControlLayer,MAC)。MAC层基本对应OSI模型中的数据链路层,LLC层主要提供可靠的面向连接服务与无连接的数据报服务,ISO在这之上提供了两种网络层服务,即面向连接的网络服务和无连接的网络服务。(3)网络层网络层提供跨越多个网络的路由和寻址功能,使两个终端系统能够以最佳路径进行互连,并具有一

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。