Winsocket编程基础

Winsocket编程基础

ID:38563711

大小:162.50 KB

页数:9页

时间:2019-06-15

Winsocket编程基础_第1页
Winsocket编程基础_第2页
Winsocket编程基础_第3页
Winsocket编程基础_第4页
Winsocket编程基础_第5页
资源描述:

《Winsocket编程基础》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、网络编程基础1.1计算机网络概述计算机网络把分布在不同地点且具有独立功能的多个计算机系统通过通信设备和线路连接起来,在功能完善的软件和协议的管理下实现网络中资源共享。在工控领域,现场数据的采集、传输及控制信息的发送都依赖于计算机网络来实现。1.2、网络参考模型为什么要对网络进行分层设计?在计算机通信过程中需要通信协议,但因传输介质的不同、计算机本身的差异以及数据格式的不同等因素,致使网络通信相当复杂,为了降低复杂性,OSI提出了协议分层的参考模型,即OSI七层互联参考模型。因为OSI的网络模型

2、标准比较严格,另外推出的时间也相对较晚,所以目前还没有完全按照OSI模型实现的网络。TCP/IP是目前实际应用最广泛的一种网络模型,在这个模型中,不只是划分了功能层,还有具体的实现技术,即协议。TCP和IP就是这个模型中最重要的两个层次的代表协议。1.2.1、OSI和TCP/IP参考模型在网络的不同分层中有不同的协议,计算机只能在同一层次上进行通信,如下图:虽然TCP/IP不是完全符合OSI的参考模型,但在层次上也存在着对应关系,如下图:1.2.2、数据流向在网络的层次模型中,每一层与相邻层之间都

3、留有接口,较低层通过接口为上一层提供服务,中间层就像个翻译一样,如下图为经典的中德教师的对话过程:在TCP/IP网络模型中,数据在从应用层向网络接口层(链路层)传递的过程中,每经过一层都要加入该层的相应的协议内容,这样数据在链路层形成了完整的数据包,该数据包到达接收方后,数据包从链路层到应用层进行逐层解析,在接收方应用层解析得到的数据就是发送方在应用层发送的数据,数据进行逐层封装和解析的过程如下图:1.2.3、IP分类IP地址在网络层中定义,长度为32个二进制位,分为4段,每段8位,用于主机在网络

4、中的标识,IP地址有两部分组成,一部分为网络地址,另一部分为主机地址。IP地址分为A、B、C、D、E共5类,具体如下:A类:

5、0

6、+网络号7位+主机号24位0.0.0.0------127.255.255.255B类:

7、10

8、+网络号14位+主机号16位128.0.0.0------191.255.255.255C类:

9、110

10、+网络号21位+主机号8位192.0.0.0------223.255.255.255D类:

11、1110

12、+网络号28位多播组号224.0.0.0------239.255.

13、255.255E类:

14、11110

15、+27位留待后用在使用IP地址进行通信时,可分为单播、组播和广播三种通信方式。单播即网络节点之间进行点到点的通信;组播,又称多播,常用于视频会议,由一个节点向指定的一组节点逐个发送数据,多播使用D类IP地址。广播类似组播,只是它不区分子网中的节点,也就是对所有节点发送数据,因此占用整个网络带宽,广播使用固定的IP”255.255.255.255””。1.3、软件系统结构C/S(Client/Server)结构,即大家熟知的客户机和服务器结构,根据实际情况对服务器和

16、客户端进行合理的分配任务,一方面可以减少网络通信的开销,另一方面降低了服务器的压力,在这种结构下,客户端相对独立地分担了一些任务,使其功能丰富,换个角度也称这样的客户端为胖客户端。B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,主要事务逻辑在服务器端(Server)实现,用户通过WWW浏览器获取需要的服务,因极少部分事务逻辑在前端(Browser)实现,因此也可称为瘦客户端。在工控领域,一二级控

17、制系统因为对系统实时性要求较高,一般都采用C/S结构,而高层的信息管理系统大多采用B/S结构。二、SOCKET编程2.1、SOCKET概述SOCKET是在TCP/IP协议下进行网络编程的接口,在编写网络软件时,用户不用关系底层协议是如何实现的,SOCKET提供了一些API使网络编程变得相对简单。SOCKET是由伯克利大学分校设计,最早主要用于在UNIX进行网络开发,微软在此基础上对其进行扩展,称其为WinSocket,扩展的socketAPI一般都以WSA开头,在windows上进行网络编程,基本

18、的socket函数和扩展的socket函数都可以使用。2.2、同步(阻塞)/异步(非阻塞)同步是指计算机的IO操作不能同时进行,也就是计算机系统内核在进行IO操作时,线程处于等待状态(阻塞),在内核完成IO操作后,等待的线程才继续执行。异步是相对于同步而言,线程在向系统内核提出IO操作请求后继续执行,线程通过内核定义的信号状态判断IO操作是否完成。同步IO操作相对简单,但异步IO会使整个软件有更高的性能,但开发难度较大。2.3、基本开发步骤TCPUDP三、网络IO模型Winsock

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

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

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