种函数。
前者为核内实现,后者为核外实现。
用户服务要通过核外的应用程序才能实现,所以要使用套接字来实现。
因为在本设计中使用了协议进行扫描局域网功能的实现,所以对进行进步描述协议是种不可靠的协议,无法进行差错控制。
但协议可以借助其他协议来实现这功能,就是其中最常用的协议之。
,网间控制报文协议允许主机或路由器报告差错情况和提供有关异常情况的报告。
般来说,报文提供针对网络层的诊断拥塞控制路径控制和查询服务四项大的功能。
如,当个分组无法到达目的站点或超时后,路由器就会丢弃此分组,并向源站点返回个目的站点不可到达的报文。
报文大体可以分为两种类型,即差错报文和询问报文。
但细分又可分为很多类型,如图所示图报文类型图报文被封装在数据报内部传输。
如下图所示,是回射请求和应答报文头部格式。
各种报文的前都样,它们是类型和代码字段起决定了报文的类型。
常见的有类型代码回射请求。
类型代码回射应答。
类型代码超时。
校验和字段包括数据在内的整个数据包的校验和,其计算方法和头部校验和的计算方法是样的。
图回射请求和应答报文头部格式对于回射请求和应答报文来说,接下来是标识符字段用于标识本进程。
最后是序列号字段用于判断回射应答数据报。
下面是不可到达报文的头部格式图不可到达报文头部格式由于篇幅有限,这里不再分析其他类型协议数据包的格式。
简略的说,协议消息包含永远不会变化的三个字段,随后是数据,然后是引发此消息的源数据包包头。
不会变化的三个字段中,前个字节包含类型主要类型第二个字段包含了类型代码第三个字段是消息校验值。
我们需要认识到,协议在些情况下不会发送信息。
不会对信息做出响应。
如果回应其它消息,这些消息的数量会爆炸性增长而演变为场消息风暴。
为了防止出现广播风暴,消息也不会回应个广播或者多播地址。
最有用的数据包类型目标不可达类型三的消息。
消息般由路由器生成,并且发送给数据包的来源。
大多数信息还将发送给与发送的数据包有关的应用程序。
在这种情况下,协议将广泛使用协议。
在本设计当中就是使用了来实现了个功能,来检测局域网上的哪些机器当前处于可以到达状态的,回射请求和回射应答报文是配合工作的。
当源主机向目标主机发送了回行线程终止了,进程也就随之终止。
每个进程至少有个主执行线程,它无需由用户去主动创建,是由系统自动创建的。
用户根据需要在应用程序中创建其它线程,多个线程并发地运行于同个进程中。
个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间全局变量和系统资源,所以线程间的通讯非常方便,多线程技术的应用也较为广泛。
多线程可以实现并行处理,避免了项任务长时间占用时间。
要说明的点是,目前大多数的计算机都是单处理器的,为了运行所有这些线程,操作系统为每个独立线程安排些时间,操作系统以轮换方式向线程提供时间片,这就给人种假象,好象这些线程都在同时运行。
由此可见,如果两个非常活跃的线程为了抢夺对的控制权,在线程切换时会消耗很多的资源,反而会降低系统的性能。
这点在多线程编程时应该注意。
函数支持进行多线程的程序设计,并提供了操作系统原理中的各种同步互斥和临界区等操作。
中,使用类库也实现了多线程的程序设计,使得多线程编程更加方便。
对多线程编程的支持提供了系列的函数来完成线程的创建挂起恢复终结以及通信等工作。
下面将选取其中的些重要函数进行说明。
该函数在其调用进程的进程空间里创建个新的线程,并返回已建线程的句柄。
该函数用于挂起指定的线程,如果函数执行成功,则线程的执行被终止。
该函数用于结束线程的挂起状态,执行线程。
该函数用于线程终结自身的执行,主要在线程的执行函数中被调用。
其中参数用来设置线程的退出码。
般情况下,线程运行结束之后,线程函数正常返回,但是应用程序可以调用强行终止线程的执行。
使用终止个线程的执行是不安全的,可能会引起系统不稳定虽然该函数立即终止线程的执行,但并不释放线程所占用的资源。
因此,般不建议使用该函数。
该函数将条消息放入到指定线程的消息队列中,并且不等到消息被该线程处理时便返回。
调用该函数时,如果即将接收消息的线程没有射请求数据包后,它期待着目标主机的回答。
目标主机在收到个回射请求数据包后,它会交换源目的主机的地址,然后将收到的回射请求数据包中的数据部分原封不动地封装在自己的回射应答数据包中,然后发回给发送回射请求的方。
如果校验正确,发送者便认为目标主机的回射服务正常,也即物理连接畅通。
综上所述,只要网路之间能支持,那就可透过进行侦测与回报。
如果要查看具体的细节情况,可以查阅文件,与相关的文件有﹑﹑等。
网络编程接口概述在网络编程中最常用的方案便是客户机服务器模型。
在这种方案中客户应用程序向服务器程序请求服务。
个服务程序通常在个众所周知的地址监听对服务的请求,也就是说,服务进程直处于休眠状态,直到个客户向这个服务的地址提出了连接请求。
在这个时刻,服务程序被惊醒并且为客户提供服务对客户的请求作出适当的反应。
为了方便这种模型的网络编程,年代初,由联合了其他几家公司共同制定了套下的网络编程接口,即规范,它不是种网络协议,而是套开放的支持多种协议的下的网络编程接口。
现在的已经基本上实现了与协议无关,你可以使用来调用多种协议的功能,但较常使用的是协议。
实际在计算机中提供了个通信端口,可以通过这个端口与任何个具有接口的计算机通信。
应用程序在网络上传输,接收的信息都通过这个接口来实现。
如下图所示图面向连接的套接字的系统调用时序图微软为定义了类如类和派生于的类,它们简单易用,我们当然可以使用这些类来实现自己的网络程序,但是为了更好的了解编程技术,本设计中将使用底层的函数实现平台的即时通信工具。
在中进行的编程开发的时候,需要在项目中使用下面的三个文件,否则会出现编译。
这是的头文件,需要包含在项目中。
连接库文件。
的动态连接库,位于的安装目录下。
多线程编程技术进程及线程概述进程和线程都是操作系统的概念。
进程是应用程序的执行实例,每个进程是由私有的虚拟地址空间代码数据和其它各种系统资源组成,进程在运行过程中创建的资源随着进程的终止而被销毁,所使用的系统资源在进程终止时被释放或关闭。
线程是进程内部的个执行单元。
系统创建好进程后,实际上就启动执行了该进程的主执行线程,主执行线程以函数地址形式,比如说或函数,将程序的启动点提供给系统。
主操作系统的选择必须恬当开发出的程序可以在尽可能多的平台上运行要求运行机配置尽可能低档。
对此,我们选择的硬件环境和软件环境如下硬件环境开发该系统应尽可能采用高档的硬件。
因此,在应用时应采用更好的配置。
处理器或更高处理器。
内存或更高。
网络局域网。
软件环境选择好的操作系统和好的编程语言是系统优劣的关键,我们要求系统在尽可能多的环境下运行,故选择平台,对于些无法在中运行的函数,律不采用,并采取优化的算法编写程序。
因具有友好的集成开发界面面向对象的可视化开发模式良好的数据库及多媒体应用支持以及高效的软件开发与程序运行,功能更大,开发效率更高,不仅是网络环境下的优秀前端开发语言和工具,也是服务器端编程的优秀工具。
加之我本人对本系统的操作最为熟练,所以选择该平台为开发环境。
操作系统或。
开发工具。
网络编程接口概述既然选定了平台,而又要开发网络通信程序,所以可以选择的编程接口,是套开放的支持多种协议的下的网络编程接口。
现在的已经基本上实现了与协议无关,你可以使用来调用多种协议的功能,但较常使用的是协议。
无疑是我们进行网络编程的利器。
开发平台简介开发平台我选用了,因为直以来都使用进行学习,对这个最为熟悉,再者同样是由微软开发的系统,与其操作系统,网络接口具有最为密切的契合优点,所以选择了。
第章需求分析及可行性研究需求分析时间要求本项目作为大学本科毕业设计题目,从月号接受选题开始,在月号之前完成系统设计,编码实现工作,在月号之前完成毕业设计论文初稿,月号之前最终完成论文。
功能要求这个程序要实现程序启动之后就能看到当前哪些机器在线,哪些可以与之进行对等通信。
旦有个网内的机器上线了,要有即时通知,并能及时更新用户界面中的用户列表。
当双击个列表项的时候,要弹出聊天对话框,可以在其中编辑要发送的聊天信息,并进行发送。
聊天界面要人性化,下面是发送框,上面有已有聊天记录,并借助滚动条看到当次所有的聊天记录。
当有人向我发送信息的时候,要弹出个对话框,显示用户接收到的信息,并且知道是谁人所发,并且在当前对话框内进行信息的回复。
系统基本流程图图局域网聊天系统的系统流程图性能要求首先要求程序要完全可靠,可以应付种种由于系统问题产生的,比如初始网络失败,对方突然下线等。
要求提前设想到类似的尽可能多的可能发生的事件,做出相应的应对措施,并向用户提交简单易懂清晰明白的提示信息。
程序要有良好的容错性,当用户进行非法操作时或者系统本身出现问题时要能以最好的方式退出程序,避免发生程序假死现象面程序必须进行必要的初始化工作产生窗口,第步是注册个窗口类用函数,而这个函数需要个已经定义好的系统结构,这个结构里面定义了窗口的种种属性,需要自己定义,但是许多属性都有默认值。
然后调用函数来产生具有上述定义属性的已注册窗口,但是需要注意的是它只是生成窗口,但并不显示之,所以还需要调用个函数将它显示在屏幕上,做完这些初始化工作以后,系统将进入消息循环,当消息循环捕捉到消息以后将交由窗口函数窗口函数进行相应的处理。
这样,个基于消息事件驱动的程序的雏形就建立了起来。
框架由上面的介绍可以看出,直接用函数开发个程序是相当麻烦的,有好多既定的重复性的工作要做,所以微软就用的类机制将绝大部分的函数进行了封装,构成了类,并且将基本的流程也封装在类机制下面,大大简






























1、该文档不包含其他附件(如表格、图纸),本站只保证下载后内容跟在线阅读一样,不确保内容完整性,请务必认真阅读。
2、有的文档阅读时显示本站(www.woc88.com)水印的,下载后是没有本站水印的(仅在线阅读显示),请放心下载。
3、除PDF格式下载后需转换成word才能编辑,其他下载后均可以随意编辑、修改、打印。
4、有的标题标有”最新”、多篇,实质内容并不相符,下载内容以在线阅读为准,请认真阅读全文再下载。
5、该文档为会员上传,下载所得收益全部归上传者所有,若您对文档版权有异议,可联系客服认领,既往收入全部归您。
