网络聊天程序论文

2024-06-26

网络聊天程序论文(精选12篇)

网络聊天程序论文 篇1

一、引言

自媒体时代, 人人都可以成为信息的发布者、传播者, 每一个账号都可以成为一个微型媒体, 随着QQ、微博、微信等社交工具的日益普及, 言论传播速度飞速增长, 而与之相伴随的就是谣言的泛滥。与传统型犯罪相比, 网络谣言对社会的危害具有间接性的特征, 谣言从滋生、传播到危害结果的发生也相对滞后, 这些外在的特征弱化了人们对网络谣言社会危害性的评价。近年来, 随着研究的不断深入, 对网络谣言犯罪本质的认识不断清晰。2013年9月9日最高人民法院和最高人民检察院联合发布了《关于办理利用信息网络实施诽谤等刑事案件适用法律若干问题的解释》 (以下简称《解释》) , 该解释划清了网络谣言罪与非罪的界限, 为打击网络谣言提供了法律依据。但是, 打击网络谣言刑事程序方面还存在诸多问题亟待解决, 通过调研, 本文梳理当前公安司法机关在办理网络谣言案件中存在的问题, 并提出了相应的建议。

二、网络谣言刑事立案的边界

网络谣言涉及到民事、行政和刑事等方面的法律责任, 不同的法律责任诉诸不同的法律程序, 但是几种法律责任之间的界限并非泾渭分明。

(一) 网络谣言刑事立案标准

立案意味着刑事程序的启动, 对于网络造谣、传谣行为是否符合“有犯罪事实需要追究刑事责任”的立案标准, 办案人员不能凭主观臆断。网络谣言与传统谣言在本质上是相同的, 只是传播的媒介转向了网络平台, [1]谣言性质是判断的依据, 对于事实性的言论, 经过初步查证属于捏造的事实, 应当立案;如果属于观点性的言论, 应从尊重公民言论自由权的角度, 不能界定为谣言。对于政治评价、反腐等言论, 即使存在一些偏激甚至失实, 只要没有反动言论、没有造成严重的后果的, 应给予应有的宽容。刑事司法权应遵循谦抑精神, 保持适当的克制, 处理好公权力与公民言论自由权的关系, 不要动辄以谣言立案打击处理, 应防止言论治罪夸大化, 防止执法机关沦落为个人、组织对言论打击报复的工具。但是, 尊重公民的言论自由权不等于放纵谣言的泛滥, 言论自由只是相对的。当前网络谣言已成为社会的“毒瘤”, 对于这一新兴的网络犯罪形态, 办案人员应准确把握其入罪门槛, 严把刑事立案关口。

(二) 刑事案件与行政案件的界限

网络谣言的性质一开始很难明确界定, 是构成了犯罪行为还是行政违法行为要有相关证据以及危害后果的严重程度等方面加以确定。公安机关在最初受理阶段如无法确定案件性质, 不能轻易做出刑事立案的决定, 可以先以行政案件受理。谣言传播的范围及其带来的影响是一个不断扩大的过程, 在这个过程中案件性质也可能会发生变化, 通过调查取证认为符合刑事案件立案标准的, 应转化为刑事案件。

(三) 刑事自诉与公诉案件的界限

网络谣言犯罪中既有适用公诉程序又有适用自诉程序的罪名, 而自诉案件与公诉案件管辖是不同的, 如诽谤罪符合刑事自诉案件立案标准的, 属于人民法院管辖, 但实践中, 当遭受他人诽谤时, 被害人往往会选择到公安机关报案, 对于此种情况, 公安机关经审查认为不符合公诉案件立案条件的应告知被害人直接向法院起诉, 只有存在严重危害社会秩序和国家利益的情形时自诉案件才转化公诉案件。对网络谣言案件启动公诉程序应保持谨慎态度, 对于能通过刑事自诉或其他途径解决的, 应尊重公民自主决定是否提起自诉的权利, 公安机关要严格遵守公诉案件的立案标准。

三、造谣、传谣者的身份认定程序

网络的虚拟性和匿名性等特征决定了认定网络谣言造谣、传谣者的真实身份与传统型犯罪有着明显的不同, 网络谣言案件增加了一道造谣、传谣者虚拟身份与现实身份同一认定环节。

在刑事自诉案件中, 被害人提起自诉最大的困难是无法证明造谣、传谣者的真实身份。当被害人要求网络运营商提供造谣、传谣者登记身份信息时, 网络运营商不予提供, 如果没有被告人, 法院则不予立案, 被害人通过个人能力找到具体的被告人非常困难, 这样通过刑事自诉来追究造谣、传谣者的法律责任就会陷入一个怪圈。解决这一难题的出路就是被害人提起自诉时, 即使没有被告人具体信息, 法院也应立案, 依职权予以调查或者要求公安机关给予相关协助。在美国, 即便是匿名造谣、传谣, 法庭都可根据受害者的诉讼, 要求网站提供被告的通讯记录;一旦裁决核实, 法庭将发出禁令要求被告和网站撤销谣言, 否则将追究其刑事责任。[2]

在公诉案件中, 公安机关可以通过网络运营商提供的账户注册身份信息来确定造谣、传谣者的真实身份, 如果造谣、传谣者利用虚假信息注册账户或者冒用他人账户, 在没有相关证据能够证明的情况下, 就无法查清其真实身份。解决这一难题一方面可以通过查询IP地址来锁定上网的计算机或手机, 然后去排查使用者, 只要是在网络上发声, 就必然会留下痕迹, 通过各种线索的关联最终会找到造谣、传谣者。实践中, 少数公安机关在查获造谣、传谣者时采取了技术侦查措施, 然而技术侦查措施适用于严重危害社会的特殊犯罪案件且经过严格的审批程序, 网络谣言犯罪行为一般不在适用范围之内, 因此, 要防止公安机关在办理网络谣言犯罪案件中滥用技术侦查措施侵犯当事人的合法权利。

四、网络电子数据的收集与运用

网络谣言案件中提取的网络计算机方面的证据属于电子数据, 电子数据在网络谣言案件证据体系中占有较大比重, 是办理网络谣言案件的关键。

(一) 电子数据收集

电子数据非常脆弱的, 容易被破坏, 数据的提取与恢复需要很强的专业性, 如果由非专业人员来做, 很有可能造成现场的破坏、数据的灭失等问题。近年来, 随着网络犯罪数量的快速增长, 案件中电子数据的数量不断增加, 形式也不断变化, 传统的取证手段已不能满足实践发展的需要。一方面办案机关应不断加强专业队伍建设, 同时寻求第三方专业机构的技术支撑, 来提升电子数据的固定、提取与保存等方面的技术水平;另一方面建立健全电子数据固定、提取与保存等工作的标准和流程, 以保证电子数据的真实性与合法性。

(二) 电子数据鉴定

电子数据不同于实物证据, 无法提供原物, 对电子数据进行司法鉴定或公证是解决此类问题的必经程序。目前我国电子数据鉴定机构大量设置在侦查机关内部, 存在“自侦自鉴”的问题, 鉴定机构中立性严重不足。[3]应进一步规范电子数据的鉴定程序, 建立侦查机关协助、具有独立性质的鉴定机构。支持第三方公证机构的发展, 满足刑事自诉和民事讼诉的需要。公证机关通过一定技术手段对电子数据的内容和载体进行公证, 可以强化当事人对电子数据的认知度。[4]

(三) 庭审中对电子数据的审查与适用

在法庭审判过程中, 如果电子数据没有可资对照的原件, 法庭不能单独将复印件或复制件采纳为证据使用, 需要有其他证据相印证。首先要有证明电子数据提取过程合法性的相关证据, 现场勘查过程中的全程录音、录像、拍照等方法是固定造谣、传谣者的网络终端设备的必要证据;其次要有证明网络电子数据真实性的相关证据, 对于办案人员提取的电子数据应出具鉴定意见。在办理网络谣言案件中, 办案人员要改变过去传统的观念, 对于电子数据不能简单的提取了之, 应按照庭审对电子数据审查与适用的要求来指导电子数据的固定、提取、保存、鉴定等方面的工作。

五、谣言的认定及危害结果评估程序

(一) 谣言的认定

追究造谣、传谣者的刑事责任要依据其所触犯的罪名及其社会危害性的大小。认定谣言的前提是其内容是捏造的事实或者是虚假的信息, 并以此为基础来确定罪名及其刑事责任的大小。办案人员不能仅凭主观判断来确定谣言的真假, 应在全面、细致查证的基础上予以认定。如在网络反腐案件中, 如果公安机关在未加核实信息真假的情况下追究了信息发布者的刑事责任, 最终可能会造成冤假错案。针对编造谣言寻衅滋事, 扰乱公共秩序的, 对于该类信息的真假应通过多渠道调查取证来加以认定, 通过向政府相关部门调取事件调查结果或者向权威机构、专家学者取证证明信息的虚假性, 对于纯粹无事生非, 追求刺激或博取眼球的谣言需要追查谣言的最初来源核实真假。

(二) 危害结果评估

传统型犯罪危害行为与危害结果之间的因果关系较明确, 而在网络谣言犯罪案件中, 由于网络空间的谣言传播受众群体不受空间限制, 而且受众人数呈几何级增长, 使得传谣、造谣行为与危害结果之间的关系变得更加复杂。

规范网络谣言危害结果的评价程序应在全面客观得收集证据的基础上做出认定。网络谣言对被害人的名誉造成恶劣的社会影响表现为被害人的内心感受的极度挫伤及公众认同度的降低, 这些表现属于主观感受的范畴, 办案人员对于这种“主观感受”的评价不能依据自己的主观判断, 需要证据的支撑。在对被害人取证时, 要尊重当事人的隐私权, 如果因当事人身份特殊不便接受办案人员取证的, 可以要求当事人通过公开发表声明的形式予以说明。对于公众认同度调查取证时, 对谣言的影响范围和危害程度的评价应进行广泛的走访调查, 并在此基础上做出客观公正的评价。对于构成寻衅滋事罪的, 对危害结果要件“造成公共秩序严重混乱”进行取证评价时, 一方面要收集谣言所引发的公共秩序混乱的证据, 如造成大量不明真相的公众聚集闹事, 冲击政府机关或者造成交通秩序严重混乱等情形, 另一方面要证明谣言与“造成公共秩序严重混乱”之间的因果关系。在一些敏感事件所引发的群体性事件中, 公众获取敏感事件的信息往往是多种渠道的。一起敏感事件发生后, 相关新闻报道, 网民的发帖、跟帖等方面的信息铺天盖地, 由于相关部门没有及时发布权威信息, 导致网民对敏感事件的猜测, 这些猜测有时并非故意编造的谣言, 不能将一些猜测信息与谣言牵强等同起来。当然, 如果网民在不明真相的情况下故意编造谣言, 且该谣言被迅速转发, 经调查取证, 证明公众就是在这一条谣言的蛊惑下聚众闹事, 造成公共秩序严重混乱的, 对于造谣者应追究其寻衅滋事罪的刑事责任。另外, 还会存在一些特殊情况, 比如, 有些怀有个人目的的不法分子对网民不明真相的猜测或评论进行夸大和渲染, 激发公众的不满情绪, 借机煽动公众聚众闹事造成公共秩序严重混乱的, 应追究不法分子的刑事责任, 而对敏感事件进行猜测或评论的网民不宜追究其寻衅滋事的刑事责任。

摘要:互联网的迅猛发展导致网络谣言的泛滥, 网络舆论场的监管面临很大的挑战。治理网络谣言需要法治思维, 走法治化之路径。网络谣言犯罪是一种新型的犯罪形态, 在刑事程序控制方面, 应严把刑事立案标准、明确刑事案件与行政案件以及刑事自诉与公诉案件的界限;规范网络谣言造谣、传谣者身份认定程序, 网络电子数据收集与运用程序, 谣言认定及危害后果评估程序, 通过刑事程序的规范化来推动网络谣言治理的法治化。

关键词:网络谣言,刑事,程序,规制

参考文献

[1]谢永江, 黄方.论网络谣言的法律规制[J].国家行政学院学报, 2013 (01) :86.

[2]王彬彬.美国如何治理网络谣言[J].新重庆, 2013 (09) :47.

[3]陈瑞华.鉴定意见的审查判断问题[J].中国司法鉴定, 2011 (05) :6.

[4]杨玲.论电子数据的公证保全[J].江苏大学学报, 2013 (03) :71.

网络聊天程序论文 篇2

一、什么是网上超市? O2O网上超市系统是一种新式的电子商务商城系统,本系统专门为同城或者同区域以及同小区电子商务打造,使用快捷方便,购买流程更人性化,适合建设同城购物平台送货上门服务。通过本平台可以快速的搭建一个专业的同城购物平台,帮你开辟出重要的网购平台。

二、系统介绍:

1、商品系统模块

完善的商品添加和管理系统,可以批量导入商品和建立商品库,商品字段非常完善,可以根据条形码快速添加商品。

2、超级栏目分类模块

栏目分类非常强大,可以根据品牌,商品类别,店铺等等进行分类,和淘宝的分类模式基本一样。非常方便客户查询商品和分类查询。

3、强大的短信/邮件发送功能

本系统拥有强大的短信发送功能,可以自动发送给送货员短信,并可以批量发送短信给客户,还可以自动发送短信给客户进行提示,邮件群发和发送功能也具备。

4、人性化的购物车系统

根据本地化商城的特点,购物车系统非常方便和人性化,操作简单,容易上手使用,让不懂电脑的人只要会上网就会使用,这样也让那些不喜欢普通商城系统那么复杂的购物流程的客户更简单的使用本平台,用户甚至不需要注册为会员都可以直接下单购物。

5、邀请好友返利系统模块

为了方便推广,还加入了邀请好友返利系统,此模块可以很方便的推广您的网站

6、积分商城系统

积分商城模块,此模块可以让长期在使用本平台的客户可以通过兑换的积分搞活动。

7、团购模块

现在团购越来越火,我们的平台也加入团购的模块,以一个小区或者一个区域里做团购肯定更容易做的。

8、文章模块

完善的文章系统,可以发布最新的公告

9、友情链接模块 添加友情链接

10、商品查询模块

完善的商品查询模块,可以方便的查询商品

11、小区或者片区选择模块

精准的小区定位和片区定位,可以管理小区或者片区商城,可以让用户更方便的找到自己周边的商品

12、更多功能请登陆演示站

还有很多的功能,请您登陆演示站查看,演示站地址和后台用户名和密码请咨询我们的在线客服人员

三、本地电子商务优势

1、商城本地化趋势

据中国互联网协会统计,2010年,中国年平均网络消费约4900亿元,在第四阶段,民生服务的市场就将达到7600亿元,是传统电子商务全部商场的1.55倍。我们看准市场开发出全新生活消费模式,以社区为服务单位,整合周边资源,让消费者足不出户享受送货上门服务,免去诸多购物烦恼,不用开车,不用寻找,不用排队,不用担心买到假货,让您更省事更省力。买急送服务,已成为消费者更放心更贴心的身边超市。买急送,真正创造低碳和谐新生活——生活简便化、服务多样化、需求个性化、消费真实化。加盟买急送,是一项让你实现年收益40万的事业。现在加入,即可分享成功经验,还可获得创业全程指导。

2、O2O网上超市商城系统

本商城系统专门根据本地电子商务特点精心制作,非常符合本地电子商务流程,更方便使用,像传统的商城网站因为大部分是针对全国性的,并不利于本地商城使用,所以在宣传和推广的时候并不能带来好的使用体验与效果,本系统完全按照本地商城流程打造,更适合本地电子商务使用。

四、网上超市成功案例:

1、邻味网超市:http:///ADMIN 用户名和密码请咨询在线客服人员

网络聊天程序论文 篇3

关键词 复杂网络 软件体系 程序分析

中图分类号:TP3 文献标识码:A

0前言

网络信息技术的飞速进展,促使人们的各项生活不断的自动化、智能化、信息化、现代化,这在很大的程度上推动了国内经济的发展。基于复杂网络之下的Java程序分析工具之中,其JPAC的运用,合理有效的提升了Java软件体系的可靠性、稳定性以及高效率,有效的推进了现代化软件产业的持续发展。

1 JPAC工具原理及整体结构

1.1 软件体系结构

JPAC工具最主要的目的就是为Java软件的相关体系结构构筑复杂网络。Myers其定义了一个可以代表相关的软件体系结构网图,也就是软件协作图(SCG),其与UML中的类图非常类似。可以进一步把SGG进行细化为了可以描述Java软件体系结构的JavaSCG。如图1,简单JavaSCG构建实例。

图1 简单JavaSCG构建实例

把其构建的JavaSCG作为是可以代表Java软件体系结构的对应网络,能够对相关的网络特性实行详细的分析。网络级特性也就是代表了全局特性,这些特性合理的反映了Java复杂软件体系中对应复杂网络情况。

1.2 软件体系结构演化

复杂网络也还具有一定的演化特性,依据复杂网络的演化模型演化相关的网络,并且在相关的演化之后依然具备复杂网络特性。

图2 基于模块软件的演化模型演化过程

有研究人员把复杂网络演化概念应用至软件体系结构中,并提出一种基于对应模块的软件演化模型。该演化模型合理的模拟了软件体系结构的复杂网络特性形成的全部过程,并且和复杂网络的相关演化一致,软件体系结构会依据该模型的对应演化,从而得到的网络仍然具备复杂网络的相关特性。如图2,为该模型的具体流程图,P1、P2、P3代表了相关的过程被执行概率,在进行新边链接时考虑了其相关的软件结构模块的存在。

1.3 工具整体结构

考虑到前两小节所述,JPAC工具是应合理的实现Java程序相关代码实行分析,并为相关的Java软件体系结构构件复杂网络的相关功能。并且对构件好的相关复杂性网络,展开复杂性网络特性合理分析,有效的显示软件体系结构复杂网络的相关特性,并进行合理有效的软件结构演化规律。与此同时,JPAC工具也能够提供较为抽象化的复杂网络,促使人们能够对其相关的特性及演化规律展开模拟性研究。所以,可以把JPAC工具的相关功能依据对应层次展开划分,主要可以分为三个层次的模块:

(1)数据分析层

其是相关工具的最底层,主要是和Java的代码文件或者是XML文档展开对应交互,并封装了Java的代码以及XML文档至相关的网络计算所表示的构建过程。其能够不依靠于高层数据运算层及用户界面层的相关存在,所以对应的用户能够依据其需要来增加数据分析层所需要的各类对应功能。

(2)数据运算层

其有效的呈现了依据数据分析层所提供的相关网络功能运算,例如,统计分析和演化模拟运算。该运算是指对相关的网络计算机的表示实行对应操作以及计算。数据的运算层可以进行一定程度的扩展,属于可扩展层次。

(3)用户界面层

用户界面层是处在最上层的,其是负责把相关的网络计算机表示呈现为可视化,把其运算的结果可视化,并为用户提供可靠的操作等。

2 基于复杂网络的Java程序分析工具设计

对于JPAC工具设计来讲,依据JPAC工具结构可以将其分为三个层面,数据分析设计、数据运算设计以及用户界面设计,以合理有效的呈现JPAC对Java的系统软件运用复杂网络进行构建,也就是进行JavaSCG的构建。

2.1数据分析设计

在对应的数据分析中,数据分析层则主要包括了Java代码以及存取XML文档、计算机网络的内部网络功能从而生成三个主要的功能,在JPAC工具的相关设计中可应用BCEL技术来实行字节的码文分析以及DOM技术对XML文档分析,其能够构建相对应的网络,并且对其储存,提供给较高层运用。对于数据分析层来讲,其有五种类图来同步完成相关数据分析层的功能支持。ProgInput是属于抽象类图,能够对Java相关的文件实行读入以及解析操作,以有效的呈现Java文件的相关解析;XMLParse则是应用DOM技术对XML文档实行一定程度的解析,进而合理的呈现XML文档的对应读入及保存;DataLayer是较为抽象的一种图类,其可以用于相关的保存构建网络;JavaBinDataLayer是具体化类图,其应用于保存Java体系的结构构建网络;RandomDataLayer属于具体化类图,其用于随机网络的保存。

2.2 数据运算设计

在JPAC的相关工具设计过程中,是基于JavaSCG的相关构建,数据的运算层能够实行多种运算,并且依据实际用户的各种需求来实行功能的扩充,所以,JPAC工具的相关数据运算层能够实行一定的统计分析以及演化模拟运算。

2.3 用户界面设计

在相关的JPAC工具中,对应的用户界面设计是应用EdlipseRCP框架,其运转的速度较快以及相对应的功能强大、可扩展等特性,属于RCP在Eclipse上所研发的一种客户端的运用平台。其开发了对应的插件功能,依据客户的不同需求,来呈现JPAC的扩展。因为Eclipse以及Java具备一定的跨平台功能,所以,JPAC工具能够在多种平台之下运行。

3 复杂网络环境之下的Java程序分析功能实践

Version1.5JDK为例,运用JPAC工具的相关复杂网络统计特性来展开计算。经过对V1.5版本的JDK之中的Java包分析而获得,其网络的中心节点读书较大,并且在中心周围也会分布着些许度数较大的相关节点,小节点主要分布在网络的周边,这充分的显示了无标度特点的相关迹象。依据上述分析可得,JDK系统结构的网络是具备小世界的对应效应以及幂率度分布特性,这就证明复杂网络的特性是在JDK的体系中所存在。

因为JDK体系是最常见的Java软件体系,所以,相关的定义上可以说明复杂的网络之下Java程序的分析工具有着复杂网络特性。并且,经过应用、探究以及分析,能够得到Java软件体系也是具备一定的演化特性,这能够为软件研发人员提供可靠的研究依据,有效的促进软件的研发技术水平持续提升。

4 结语

近些年,信息化的不断进步促使网络化环境逐渐的变得复杂,提升软件对于相关体系的合理支持、管理以及维护,就成为了当下各类软件开发的重点。想要更合理有效的进行软件开发,复杂网络的有效管理,软件的开发人员依据其相关网络特性、性质、变化,合理的提出Java程序的对应分析工具,这样有效的推进Java程序代码分析与复杂软件体系的研究。

Java工具研发以及运用,提供了复杂网络环境为Java软件体系,促进对Java软件的相关体系网络特性及变化规律展开深层探究,推进Java软件体系基于复杂网络之下的探究能够持续探究并创新。

参考文献

[1] 陈焘,李孔文,王树森,顾庆,陈道蓄.基于复杂网络的Java程序分析工具设计与实现[J].计算机科学,2013(4).

[2] 李龙飞.基于复杂网络的Java程序分析工具设计与实现思路浅谈[J].电脑知识与技术,2014(6).

用JAVA编写网络通信程序 篇4

1 Java中输入/输出流概念

过滤流D a t a I n p u t S t r e a m和D a t a OutputStream除了分别作为FilterInput Stream和FilterOutputStream的子类外, 还分别实现了接口DataInput和DataOutput。接口DataInput中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数。接口DataOutput中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组, 如writeChar () 、writeDouble () DataInputStream可以从所连接的输入流中读取与机器无关的基本类型数据, 用以实现一种独立于具体平台的输入方式。

2 Socket机制

S o c k e t是面向客户/服务器模型设计的, 网络上的两个程序通过一个双向的通讯连接实现数据的交换, 这个双向链路的一端称为一个Socket。

Socket通信机制提供了两种通讯方式:有联接和无联接方式, 分别面向不同的应用需求。使用有联接方式时, 通信链路提供了可靠的, 全双工的字节流服务。在该方式下, 通信双方不必创建一个联接过程和建立一条通讯链路, 网络通信操作在不同的主机和进程之间转发进行。

3 Java语言

Java语言优点主要表现在:简单、面向对象、多线程、分布性、体系结构中立、安全性等方面。第一简单性。Java与C++语言非常相近, 但J a v a比C++简单, 它抛弃了C++中的一些不是绝对必要的功能, 如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。第二, 面向对象。J a v a提供了简单的类机制和动态的构架模型。对象中封装了它的状态变量和方法, 很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型, 通过继承和重载机制, 子类可以使用或重新定义父类或超类所提供的方法, 从而既实现了代码的复用, 又提供了一种动态的解决方案。第三, 多线程。Java程序可以有多个执行线程, 如可以让一个线程进行复杂的计算, 而让另一个线程与用户进行交互, 这样用户可以在不中断计算线程的前提下与系统进行交互。多线程保证了较高的执行效率。第四, 分布性。Java是面向网络的语言。通过它提供的类库可以处理T C P/I P协议, 用户可以通过U R L地址在网络上很方便的访问其他对象。第五, 体系结构中立。J a v a是一种网络语言, 为使J a v a程序能在网络的任何地方运行, J a v a解释器生成与体系结构无关的字节码结构的文件格式。J a v a为了做到结构中立, 除生成机器无关的字节码外, 还制定了完全统一的语言文本。第六, 安全性。用于网络、分布环境下的J a v a必须要防止病毒的入侵, J a v a不支持指针, 一切对内存的访问都必须通过对象的实例变量来实现, 这样就防止了程序员使用欺骗手段访问对象的私有成员, 同时也避免了指针操作中容易产生的错误。

4 JAVA工具

JDK, Java编译器, Java编译器将Java源代码文件编译成可执行的J a v a字节码。Java源代码文件的扩展名为.java, Java编译器把这种扩展名的文件编译成扩展名为.class的文件。

Java解释器, Java解释器对编译生成的字节码格式的可执行程序的运行提供支持, 它是运行非图形J a v a程序的命令行工具。

Appletviewer, 它是Java Applet的简单测试工具, 可使用它来测试Java Applet程序, 而不需要W W W浏览器的支持。

Visual J++, Visual J++集成了可视化界面设计、交互式调试、代码编辑、联机帮助信息和介绍如何快速掌握该开发环境的实用向导等多项功能, 同时具有能充分利用Active X和COM新技术的优势。利用Visual J++可创建交互性很强的Internet应用程序, 是难得的J a v a开发系统。

5 客户机/服务器通信的实现

Application同Applet的通信。两端通过S o c k e t机制进行连接:第一客户端的编程流程:打开Socket, 新建一个套接字;为套接字建立一个输入和输出流;根据服务器协议从套接字读入或向套接字写入;清除套接字和输入/输出流;第二服务器端的编程流程:打开Server Socket, 创建一个服务器型套接字和一个普通套接字, 服务器型套接字在指定端口为客户端请求的Socket服务;使用ServerSocket类的accept () 方法使服务器型套接字处于监听状态并把监听结果返回给普通套接字;为该普通套接字创建输入和输出流;从输入和输出流中读入或写入字节流, 进行相应的处理, 并将结果返回给客户端;在客户端和服务器工作结束后关闭所有的对象, 如服务器型的套接字, 普通套接字, 输入和输出流。

Applet之间的通信:Applet之间的通信使用Applet Context类的getApplet () 方法。

只要在程序中加入Applet o n e a p p l e t=getAppletContext () .getApplet (“first”) ;便可使用name为first的Applet中的方法了。

6 程序调试心得

网络聊天程序论文 篇5

方法:DOS方式直接键入ipconfig/ALL。

操作环境:win98或WIN2K

作用:

显示网络适配器的物理地址、主机的IP地址、子网掩码以及默认网关等,还可以看主机的相关信息如:主机名、DNS服务器、节点类型等。其中网络适配器的物理地址在检测网络错误时非常有用。在命令提示符下键入ipconfig/?可获得ipconfig的使用帮助,键入ipconfig all可获得IP配置的所有属性。

2、命令netstat

此命令显示协议统计和当前的TCP/IP网络连接。netstat是Windows下的网络检测工具,而且也是需要在安装了TCP/IP协议以后才可以使用的。

方法:DOS方式直接键入netstat。

操作环境:win98或WIN2K

例1、怎样知道自己的计算机是否被开了“后门”?

netstat -a

显示出你的计算机当前所开放的所有端口,其中包括TCP端口和UDP端口。你经常的使用它,以此来查看计算机的系统服务是否正常,是否被“ ”留下后门,木马等。由于这个参数同时还会显示出当前计算机有什么人的IP正连接着你的服务器,所以也是一种实时入侵检测工具,如发现有个IP连接着不正常的端口,你也可以及时做出有效对策。

例2、怎样知道连接到我的计算机的IP地址?

netstat -n

参数-n告诉netstat不解析对方计算机的NetBios名.

作用:列举出来当前和你连接的所有计算机。

例3、详细网络资料,供高手研究。

netstat -s -e

默认情况下,显示 TCP、UDP、ICMP 和 IP的统计,比如你接受了多少数据包,多少字节,有多少TCP端口打开,有多少UDP端口打开。

3、命令nbtstat

该命令使用 NBT(TCP/IP 上的 NetBIOS)显示协议统计和当前 TCP/IP 连接。

方法:DOS方式直接键入nbtstat。

操作环境:win98或WIN2K

例:怎样知道对方计算机名,所在的组、域及当前用户名?

nbtstat -a 192.168.0.1(对方IP地址)

4、命令ARP

显示和修改“地址解析协议”(ARP) 所使用的到以太网的 IP 或令牌环物理地址翻译表,

该命令只有在安装了 TCP/IP

协议之后才可用。

arp -a [inet_addr] [-N [if_addr]]

arp -d inet_addr [if_addr]

arp -s inet_addr ether_addr [if_addr]

例1、怎样知道谁正在连接我的计算机?

arp -a

例2、利用捆绑IP和MAC解决局域网内盗用IP的问题。

查看网卡MAC地址,用ipconfig。记录网卡MAC地址,再到代理服务器端让网络管理员把您上网的静态IP地址与所记录计算机的网卡地址进行捆绑。具体命令是:

ARP -s 192.168.0.16 00-EO-4C-6C-08-75

这样,就将您上网的静态IP地址192.168.0.16与网卡地址为44-55-43-54-00-00的计算机绑定在一起了,即使别人盗用您的IP地址192.168.0.4也无法通过代理服务器上网。其中应注意的是此项命令仅在局域网中上网的代理服务器端有用,还要是静态IP地址。

5、route命令

该命令管理路由表。

例1、显示本机路由信息,帮助解决网络路由问题。

route print /netstat -r

例2、用ROUTE命令实现跨网段访问

一台计算机有两块网卡(IP分别为192.168.0.6和10.41.0.14),分别连接不同网段的局域网。在win98下利用ROUTE命令实现跨网段访问。

route delete 0.0.0.0

route add 192.168.0.0 mask 255.255.255.0 10.41.0.14 metric 1

route add 0.0.0.0 mask 255.255.255.0 10.41.0.254 metric 1

其中10.41.0.254为局域网网关。

例3、解决拨号上网后不能访问局域网的问题。

一台计算机(10.41.221.17)属于局域网,通过路由器10.41.221.254连接其它网络(10.41.220.0)。现通过10.41.221.17拨号上Internet后,出现无法通过路由器连接其它网络的现象。原因当然是默认网关被修改了。解决的办法是:

网络聊天程序论文 篇6

【关键词】网络自主学习环境;程序设计基础

“VC++程序设计”是学员入学以后学到的第一门程序设计类课程。由于大部分学员在之前的学习中没有接触过编程语言,学员在学习过程中容易产生畏难情绪,不易产生学习兴趣,学习效果较差。但这门课程作为理科学员的必修课程,对学员将来的专业学习有重大帮助,怎样能够激发学员的学习兴趣,提高教学质量成为任课教员的教学重点。

网络教学以计算机网络为载体,提供丰富的学习内容,可以让学员按照自己的基础、兴趣、习惯来选择学习内容和学习方式。大部分院校都建立了网络教学网站,通过异步教学交互方式,以期使学习空间得到最大的拓展。然而,在网络教学网站的开发过程中,往往忽视了学习环境的有效设计。笔者针对目前网络教学中存在的问题,提出基于自主学习的网络学习环境设计的策略,从而使网络教学在VC++程序设计这门课中真正体现出其应有的适应性。

1.VC++程序设计网络自主学习存在的问题

1.1 资源针对性不强

对于基础知识较差的学员,需要设置相关知识的电子资源库,而对于基础相对好的学员来说,需要提供大量的实践案例。很多网络课程设计没有评估学员的知识结构和认知水平,没有分类提供适用于各个层次的专门资源库,只是提供一些简单的资源下载及知识链接。因此,资源看起来很丰富但缺乏针对性。

1.2 自主学习环境的应用不够深入

在传统的教学过程中使用基于网络的自主学习环境的目的,不仅是让学员更容易地掌握所学的知识技能,更重要的是培养学员的信息素养能力和自主学习能力。目前常见的基于网络的自主学习环境在“C++程序设计”教学过程中应用层次不够深入。虽然为学员创设了一定的自主学习情景,学员可以使用学习环境中“论坛”、“答疑”、“网上作业”、“网上自测”等功能实现学员与老师之间、学员与学员之间的交互,但交互形式比较单一,也不够充分。学员们也表现出对自主学习环境的应用层次和交互性等方面的兴趣不高。

1.3 缺少评价与反馈

很多网络课程都缺少评价与反馈的设计。一方面,在网络教学的评价方式上仅局限于教员对学员的评价,缺少学员自身的评价、学员之间的评价,而这些正是学员获得成就感的主要来源;另一方面,在课程评价形式上缺少问题形式的设计,侧重填空题和选择题,缺乏案例题和实践题,学员不能及时检验学习情况,降低了学员的学习热情。

2.网络教学自主学习环境设计方法

2.1 学习资源的设计

学习资源由课程资源、教学资源和学员作业共同组成。课程资源在教学过程中起着指导和辅助的功能,包括教学文件、教学资源、学员作业等。其中教学文件包括课程教学大纲、教学进度安排、实验安排等,这些教学文件为教员提供教学指导方向;教學资源包括教员的备课教案、PPT课件等,这些教学资源对教员的教学起着辅助作用;学员作业包括学员的作业、学员的作品等,学员作业是教员了解学员学习情况最好的信息。在实际的教学工作中,这些资源往往分布在院系的行政人员、管理人员和任课教员各处,资源的分散不但给教学工作带来不便,也使得学员难以接触这些资源,不利于学员的学习。因此,在设计学习资源时必须将上列三部分全部包含进去,才能建成真正丰富的、有针对性的学习资源库。

2.2 加深“VC++程序设计”网络自主学习环境的应用层次

为了加深“VC++程序设计”网络自主学习环境的应用层次境的应用层次,教员必须努力做到下面几点:首先,在观念上充分认识到基于网络的自主学习环境在实际教学中的应用不再是简单的网络辅助教学功能,应该充分使用基于网络的自主学习环境促进教学改革,发展以学员为中心的教学方式,促进学员信息素养能力的提高。其次,教员应不断地完善和提高自身的信息技术能力,通过在教学过程中充分使用网络自主学习环境的新技术,在“教”中“学”,进而形成应用兴趣与技术能力相互提升的良性循环。再次,教员在实际教学过程中要不断利用网络教学平台丰富自己的课堂教学,提高自己基于网络环境的教学设计能力,以网络教学平台为基础,主动探寻更为灵活多样、教学相长的互动教学模式,不断实现网络辅助教学的创新。

2.3 互动空间与评价反馈的设计

据美国远程教育学者穆尔的观点,远程学习中的交互可以分为3种类型:学员与学习内容之间的交互、学员与教员之间的交互、学员之间的交互。实现网络课程中的交互要借助动态网页效果,为学员和教员、学员之间的提供各种交互环境,如专题讨论区、在线答疑等模块。为教学双方以及学员之间的相互交流创造便利,使学员可以方便地发表自己的见解,寻求帮助和相互讨论,培养学员的高级认知能力以及合作精神。在构建学习共同体的过程中还可以增强学员的协同意识,让他们在共同体中具有归属感和认同感。这样的结构和过程实际上为学员提供了一种“隐形”课程,学员从中感受到自主学习和自我肯定的力量。

作为一门完整的网络课程应该包含四要素,即目标、内容、策略和评价。网络课程教学的评价依赖于网络教学评价系统的实现,评价的因素有定性指标和定量指标。其最关键的是对学员学习过程的有效评价,评价的内容应包括学员在协作学习过程中的积极性、职责的完成情况、小组的协作学习过程等。在设计评价标准时,应使学员不感到有压力,并且能客观地反映出每个学员的学习效果。

在网络学习环境下,提供及时的学习反馈可以促进学员的发展,为学员找到自己能力的增长点。让学员及时了解自己的学习状态,激发和维持学习动机,提高学习兴趣,从而更好地改进学习。让学员利用网络评价工具进行测试和反馈,参加在线测试、在线自动判卷,以便于教员及时给予点评、诊断。这既能帮助学员在网络课程中进行自我练习、自我评价,又能便于教员及时了解阶段教学效果和学员在学习过程中存在的问题,从而及时调整和改进教学。

3.结语

基于网络的自主学习环境的构建,必须落实到具体的学习活动上。笔者认真分析学员的学习特点以及“VC++程序设计”课程的教学特点,提出制订VC++程序设计网络自主学习环境的构建过程中的几点问题与改进方法。

虽然目前在高校中课堂教学还是占据着主导地位,基于网络的教学还没有完全开展起来,主要的网络教学形式还只局限于建设网上精品课程。但是,随着教学观念的改变,教学理论的发展,网络学习理论的逐步完善,以及计算机和网络技术的新发展,在基于网络的自主学习环境的理论和实践方面的研究必定会有更加深入和系统的发展。

参考文献

[1]孙晓华.交互式网络课程设计与开发[M].北京:清华学出版社,2011(2).

[2]黎军.网络教育概论[M].北京:清华大学出版社,2011(2).

[3]DON E.Descy,IGoogle,uGoogle,WeAllGoogle[J].Techtrends.March/April 2008 volume 52,number2,page6-7.

[4]王天虹.基于Web的高校图书馆自主学习环境构建研究[J].图书馆论坛,2010(2).

[5]高永红.基于网络环境的自主学习模式构建及其运用[J].山东社会科学,2010(10).

作者简介:

杜晓静(1975—),女,镇江船艇学院讲师,研究方向:网络安全。

何秋燕(1980—),女,镇江船艇学院讲师,研究方向:网络安全。

通风网络区域划分算法与程序实现 篇7

矿井通风系统在煤矿安全生产中发挥着极其重要的作用, 它不仅为井下各作业地点提供源源不断的新鲜空气以供人员呼吸, 而且稀释和排除井下各种有毒有害气体和矿尘, 从而创造良好的矿井工作环境, 保障井下作业人员的身体健康和劳动安全[1]。矿井通风系统一般采用分区通风的方式, 以保证风流在到达各用风地点之前都是新鲜的, 即各主要用风地点并联用风, 经过一个用风地点的风流不再经过另外一个用风地点。因此, 分析矿井各用风地点是否并联通风是分析通风系统合理性的基础和关键。某些矿井由于建设时期较早, 服务年限已经很长, 期间又经过多次的改扩建, 矿井通风系统极其复杂, 分区通风条件很难满足, 有时甚至判断是否分区通风都并非易事。

从流体力学的角度来看, 对于正常运转的通风系统, 在多数时间内其各风道的风阻变化以及通风动力的变化很小, 可以认为整个通风系统的风流流态为稳态流动[2]。与此同时, 目前关于通风系统分析的研究侧重于从非稳态的通风系统入手来分析通风网络结构的灵敏度, 进而分析通风系统稳定性、可靠性和合理性[3,4,5,6,7], 鲜有对稳态通风系统的内部结构的分析。鉴于此, 笔者针对稳态通风系统, 提出通风网络任意风道影响区和依赖区的概念, 提出通风网络各风道依赖区、影响区划分方法以及任意风道之间归属度和依赖度计算方法, 有望填补该方面的空白。

实际上, 对于稳态流动的通风系统, 如果已知各用风地点的风量来源和经过各用风地点的空气流经的区域, 以及各风道与用风地点之间的风量依从关系, 则可方便地判断分区通风条件是否满足、如果不满足时影响程度有多大以及采取何种措施可以满足分区通风条件等, 从而降低通风系统合理性分析的难度和复杂度, 加深对通风网络内部结构的理解和认识。

1 基本概念的定义

通常矿井通风网络可视为一个有向连通图, 其中各风道的风量在稳态通风时期保持相对稳定, 可视为常量。设有稳态通风网络G= (V, E) , 其中V为节点集合, E为风道集合。对于其中任意一条风道i, 就风量依从关系而言, 整个通风网络的分支集合E可分为3个部分:依赖区Edep (i) 、影响区Einf (i) 和无关区Eirr (i) 。风道i的依赖区Edep (i) 是指风量可最终部分或全部流入该风道的其它风道的集合;风道i的影响区Einf (i) 是指该风道的风量可最终部分或全部流经的风道的集合;风道i的无关区Eirr (i) 是指既不属于该风道的依赖区又不属于该风道的影响区的风道集合。如果风道i是风道j的依赖区中的一条风道, 则风道j必是风道i的影响区中的一条风道。风道i对风道j的归属度是指风道i中的风量有多大比例流入到风道j;风道j对风道i的依赖度则是指风道j中的风量有多大比例来源于风道i

类似可定义节点的影响区、依赖区和无关区以及节点间的归属度和依赖度, 本文仅就风道的这一组概念展开讨论, 对节点的讨论与此类同, 不再赘述。

2 算法与程序实现

2.1 影响区、依赖区与无关区的划分算法

假设整个通风网络的风流方向为从上到下, 则划分该通风网络中风道i的依赖区Edep (i) 就是以该风道为根, 向上搜索其分支, 最终形成一颗树;而划分该通风网络中风道i的影响区Einf (i) 则是以该风道为根, 向下搜索其分支, 最终形成一个倒立的树;风道i的无关区则可以直接由影响区、依赖区和总的通风网络分支集合之间的布尔运算得到:

Eirr (i) =E-Edep (i) -Einf (i) (1)

通常树的搜索算法有深度优先和广度优先两种, 这里采用深度优先算法生成依赖区和影响区, 在下文将采用广度优先算法在影响区和依赖区内计算归属度和依赖度[8,9]。

在通风网络G= (V, E) 中, 采用深度优先算法生成风道i的影响区的基本思想是从风道j的末节点Ve (i) 出发, 在E中搜索每一条以Ve (i) 为始节点的风道k, 先将风道k加入影响区分支集合Einf (i) , 然后再从风道k的末节点Ve (k) 出发, 在E中搜索每一条以Ve (k) 为始节点的风道j, 重复以上操作, 直至末节点为通风网络的大气节点即回风口时, 回溯当前的搜索到上层节点, 继续搜索以此上层节点为始节点的另外一条尚未被加入集合Einf (i) 的风道, 遇到大气节点就回溯, 最终一直回溯到风道i的末节点Ve (i) , 并且以此节点为始节点的所有风道都被加入到集合Einf (i) 中为止。

采用深度优先算法生成影响区的搜索顺序如图1所示。

A-要生成影响区的风道i的末节点;B、C、F-通风网络内部节点; D、E、G、L-大气节点

采用深度优先算法生成依赖区的搜索过程与生成影响区类似, 只是搜索方向与图1所示相反, 是向上的。

2.2 归属度与依赖度的计算算法

在完成通风网络各风道的影响区、依赖区与无关区划分的基础上, 可以计算该通风网络中任意2条风道之间的归属度与依赖度。设有通风网络中的任意2条风道ij, 用Dij表示风道i对风道j的归属度或依赖度, 则:

Dij{>0iEdep (j) Dij=0iEirr (j) <0iEinf (j) Dij

式中:Edep (j) 表示风道j的依赖区;Eirr (j) 表示风道j的无关区;Einf (j) 表示风道j的影响区。

已知Edep (j) 和任意风道iEdep (j) , 则采用广度优先算法计算归属度Dij的基本思想是首先设置Djj=1, 在集合Edep (j) 中搜索每一条风道i, 如果以风道i的末节点Ve (i) 为始节点的每一风道k, kEdep (j) , Dkj都已经计算获得, 则:

Dij=k=1nf (k) f (Ve (i) ) ×Dkj (3)

式中:Dij为风道i对风道j的归属度;n为在Edep (j) 中以Ve (i) 为始节点的风道数量;f (k) 为风道k的风量;f (Ve (i) ) 为风道i的末节点的风量;Dkj为风道k对风道j的归属度;ikEdep (j) 。

类似地, 对任意风道iEinf (j) , 依赖度Dij可由式 (4) 计算得到:

Dij=-k=1nf (k) f (Vs (i) ) ×Dkj (4)

式中:Dij为风道i对风道j的依赖度;n为在Einf (j) 中以Vs (i) 为始节点的风道数量;f (k) 为风道k的风量;f (Vs (i) ) 为风道i的始节点的风量;Dkj为风道k对风道j的依赖度;ikEinf (j) 。

风道i对风道j的归属度Dij和风道j对风道i的依赖度Dji存在如下换算关系:

Dji=-f (i) f (j) Dij (5)

式中:f (i) 、f (j) 分别为风道i、风道j的风量。

2.3 程序实现

.NET是微软公司在21世纪推出的一个功能强大、高效并且可扩展的集成编程环境, 它充分展现了应用程序开发的潜能, 并提供了生成应用程序所需的工具和技术, 这些构架大大简化了开发工作, 减少了开发者的负担。C#语言是一种高效、安全、灵活的现代化完全面向对象的程序设计语言, 专门为.NET应用而开发, 是.NET平台的通用开发工具。因此, 笔者采用基于.NET的C#语言编写了通风网络任意风道的影响区和依赖区划分的深度优先算法程序, 以及计算任意风道间归属度和依赖度的广度优先算法程序[10,11], 其流程如图2、图3所示。

3 实例应用

某矿通风方式为单井口进风、单井口回风, 设计时采用分区通风方式, 通风网络系统在生产过程中经多次更改。目前全矿共有52条巷道, 其通风网络如图4所示。该矿的主要用风地点为风道13、15和20, 其影响区及依赖区如图5所示。

从图5可看出, 这3条风道互不包含在各自的影响区或依赖区内, 即不存在串联通风, 因此, 该矿通风系统虽经多次更改, 仍然保持了设计时的分区通风方式。

对于风道20, 程序计算出的其它风道对其的归属度/依赖度Di, 20如表1所示。


4 结论

(1) 提出针对某指定风道将通风网络划分为依赖区、影响区和无关区的概念与划分算法, 介绍了其在通风合理性分析中的应用。

(2) 提出了任意风道间归属度和依赖度的概念及其计算方法, 对于深入了解通风网络系统的内部结构, 分析主要用风地点的风量来源组成、经过用风地点后的污风对不同风道的影响程度等都具有现实意义。

(3) 现实生产中的矿井, 其风道风阻处于不同程度的波动之中, 当风阻的变化不大时, 通风网络的各风道风向不变, 即各风道的依赖区、影响区和无关区保持不变;当风阻变化较大时, 有些风道风向将发生变化, 从而使得一些风道的依赖区、影响区和无关区发生改变, 此时就需要重新划分各风道的依赖区、影响区和无关区, 相应的风道间的归属度和依赖度也需要重新计算。

(4) 本文介绍的相关概念和算法同样适用于城市水网、气网等流体管网系统的内部结构分析。

摘要:通风网络风道之间的风量依从关系对于通风网络的合理性分析具有重要意义。对于任意复杂的通风网络系统, 有时很难从图形上直接判断出任意2条风道之间的风量依从关系。文章提出了通风网络任意风道影响区和依赖区的概念, 指出其可用于任意风道之间的风量依从关系的分析;介绍了通风网络各风道依赖区、影响区划分方法以及任意风道之间归属度和依赖度计算方法, 并采用C#语言编制了程序;最后用实例验证了文中所论及算法的正确性。

关键词:矿井,通风网络,风道,影响区,依赖区,归属度,依赖度

参考文献

[1]张国枢.通风安全学[M].徐州:中国矿业大学出版社, 2000.

[2]MURSON B R, YOUNG D F, OKIISHI T H.Fundamentals of Fluid Mechanics[M].5th ed.北京:电子工业出版社, 2006.

[3]魏引尚, 常心坦, 李如明.复杂通风系统的稳定性分析[J].西安科技大学学报, 2003, 23 (2) .

[4]贾进章, 马恒, 刘剑.基于灵敏度的通风系统稳定性分析[J].辽宁工程技术大学学报, 2002, 21 (4) .

[5]仵自连, 栗成杰.矿井通风系统稳定性和可靠性研究[J].煤炭科学技术, 2006, 34 (9) .

[6]吴勇华.通风系统灵敏度分析[J].西安矿业学院学报, 1992, 12 (3) .

[7]王从陆, 吴超.矿井通风及其系统可靠性[M].北京:化学工业出版社, 2007.

[8]陈广.C#程序设计基础教程与实训[M].北京:北京大学出版社, 2008.

[9]FORD W, TOPP W.数据结构C++语言描述[M].北京:清华大学出版社, 1998.

[10]SHEPHERD G, KRUNLINSKI D.Programming withMicrosoft Visual C++.NET Core Reference[M].北京:清华大学出版社, 2004.

网络多媒体教学程序制作简述 篇8

一、网络多媒体教学程序简述

实施网络教学有很多种方式, 其中一种是通过制作网络版多媒体程序或者视频教程来实现的, 是现在网络比较流行的一种网络教学模式, 这种教学模式特别适合成人教育远程教学和自学。

网络多媒体程序和视频教程是基于浏览器和服务器模式开发的能在互联网或局域网上发布的一种Web应用程序。它们运行在服务器上, 学生只需用浏览器访问就可以进行学习。视频教程可以通过屏幕录像软件把教师在电脑上进行操作的过程 (包括讲解声音) 录制下来, 或者把教师上课讲解的内容用摄像机录制下来, 把其制作成Flash或者wmv等可以在网络上直接运行的格式, 这种视频教程不具有交互功能, 学生可以象上课一样观看其讲解。网络多媒体程序和视频教程相比要求具有一定的交互功能, 可以实现人机互动。

二、使用Authorware发布网络多媒体教学程序

当我们使用Authorware进行网络多媒体程序制作时, 为了保证多媒体程序运行流畅, 在开始你的Authorware作品之前你就要考虑好以下问题:

1.规范各种外部文件的位置

如果在你的作品中嵌入了大量的文件, 会使主程序文件体积过大, 影响播放速度。所以常常将这些文件作为外部文件发布。对这些文件, 不同类型一般放在不同的目录下, 以便管理。

2.使用适合格式的图片、声音、视频和动画文件

图片、声音、视频和动画文件占用的空间较大, 对程序的运行速度有很大影响。Authorware支持的图片文件格式很多, jpg、bmp、psd等。建议使用压缩后的jpg格式。声音支持wav和mp3格式, 还支持Authorware本身的swa格式, 这种格式质量小, 效果也不错, 可以通过软件自带的工具把wav转换成swa。视频文件支持avi、mpeg, mpeg文件相对小些。可以把这两种文件通过转换软件转换成Flash文件使用。动画文件可以直接使用Flash和gif文件。

使用Authorware制作完多媒体程序作品以后, 要想把作品发布到网络上, 就要对作品进行网络打包发布。

Authorware的Streaming技术是一种智能化的知识流 (Knowledge Streaming) 技术, 是专门将多媒体程序应用于网络的新技术。Streaming技术可以将Authorware设计的应用程序打包成若干个片段 (Segments) 在网上发布。用户从网上下载相关程序后, 使用浏览器就可以进行浏览。使用知识流技术, 可以自动跟踪、检测、预测程序片段的下载, 可以提前下载必要的程序片段, 用户不必将所有程序下载完毕就可以进行浏览, 从而大大节省了用户的访问时间。

Authorware多媒体程序的网络发布一般可分为以下几个步骤进行, 以Authorware7.0中文版为例:

1.Authorware网络打包产生的片段文件为aas文件, 多媒体程序中如果使用了库文件 (.a7l) , 那么库文件 (.a7l) 的主名不能与片段文件 (aas) 的主名同名, 而且不能使用中文文件名。

2.在Authorware中选择【文件】→【发布】→【发布设置】命令, 打开发布设置对话框。

3.在格式面板里去掉上面的打包成exe或者a7r文件的打包为选项 (这部分是发布成本地运行程序的选项) , 在下面的发布为Web里的Web播放器和Web页选项打钩, 在后面的框里可以选择映射文件aam和网页文件html的保存位置。

4.打包面板里包括打包所有库在内;打包外部媒体在内;重组在Runtime断开的连接。最后一项必选, 前两项根据多媒体程序使用情况选择, 选择后可使网络上运行更有效率。

5.用于Web播放器面板包括映射文件和高级横幅选项, 片段前缀名:可指定文件名 (不能用中文) 再加上4位序号组成。片段大小:指定发布后片段文件的文件大小, 下拉列表中可以选择不同的网络速度。Authorware根据所选网络速度指定片段大小, 也可以在下拉列表中选择自定义, 然后输入片段大小, 数字越小, 片段就越小, 生成的片段个数就越多, 片段的大小将影响用户浏览时下载的时间。如选择高级横幅选项, Authorware可以提供一种智能化数据流处理技术, 它可以记录文件的储存模式, 预测片段的下载, 在其后的文本框中的内容用来指定服务器上高级流配置文件的存放位置, 可根据需要进行修改。如果想要在作品中使用高级流技术, 必须在服务器上进行相应的配置。

6.Web页面板主要是打包后的网页属性设置, 模板是指定发布后网页的模板, 下拉列表框中可以有5种选择, 网页标题可以更改。回放里可以设置网页的高、宽、背景色, 单击匹配块按钮可以使网页和作品设置相同。下拉列表框中可以选择网络播放器、调色板和程序的网络显示风格。

7.文件面板上面的框里可以查看文件的连接状况, 可以添加、删除、更新文件等。当选中框里文件时, 下面的Web面板里是设置该文件的下载本地的保存目录、文件名和运行平台、文件的下载方式等选项。

三、网络多媒体教学程序的上传和使用

使用Dreamweaver网页编辑软件把发布后的网页文件html进行编辑修改, 然后连接到你的主网页上, 再把映射文件aam、所有的片段文件aas、网页文件html、支持特效播放的xtras文件夹、支持播放视频a7vfw32或a7mpeg32文件和程序使用的视频文件等, 上传到服务器。

如果使用Windows2003服务器, 则需要对服务器设置, 允许下载aas文件。具体步骤如下:

1.打开IIS控制面板。

2.在要设置的网站上单击右键, 在弹出的菜单上选择“属性”。

3.在打开的属性对话框中打开“http头”选项卡。

4.在“MIME类型”区域中单击“MIME类型……”按钮。

5.在弹出的“MIME类型”对话框中单击“新建……”按钮。

6.在弹出的对话框中的“扩展名”后面输入“*” (不包括引号) , 在“MIME类型”文本框后面输入“application/octet-stream” (同样不包括引号) 。

7.依次单击“确定”按钮关闭各对话框, 重新启动服务器。

在网络上运行播放多媒体程序时, 需要下载并安装Authorware Web Player播放器到客户端电脑上。首次播放多媒体程序会自动提示你下载安装Authorware Web Player播放器, 如果没有提示, 用户可到http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveAuthorware网址点击“INSTALL NOW”按钮手动安装, 安装后重启电脑就可以播放你制作的网络版多媒体程序了。

四、使用网络多媒体教学程序的优势

使用网络多媒体教学程序, 在开展成人教育和学生自学方面具有很大优势。

第一, 方便了教师远程指导, 使用网络多媒体教学程序, 学生就可以把自己遇到问题、想法通过程序传给教师, 教师通过程序远程辅导学生, 批改作业。这种网络多媒体教学程序为今后的成人教育开拓了新的教学思路。

第二, 通过网络多媒体教学程序学生可以根据自己的时间随时学习, 对于一些难点重点的问题可以反复学习, 节省了教育资源。

网络聊天程序论文 篇9

网络中很多非法网站或计算机病毒修改用户Internet Explorer(IE)浏览器的主页、标题栏等功能、信息,使计算机的正常运行、操作难以保证。这一问题可以通过注册表编辑器解决。但是,有的恶意网页或者病毒可能把用户操作系统中的注册表编辑器也屏蔽掉,使得修改注册表的权利都没有[1]。本文就是针对这一问题,介绍一个利用Delphi开发能够通过注册表保护、修复IE浏览器程序的方法。

2 设计原理

在Delphi 3.0及以上版本中,提供了一个构件Tregistry。在程序中可以利用它来实现对WINODOWS 9X/NT/XP注册表的操作。IE浏览器中的一些功能和信息与Windows操作系统中注册表是一一对应的。通过Tregistry构件访问注册表的首要工作就是对该构件的核心属性、方法进行解析[2]。

2.1 Tregistry构件解析

TRegistry常用的属性和方法有:Root Key、Create Key、Open Key、Close Key、Delete Key、Read XXXX、Write XXXX(XXXX表示数据类型如String、Integer等)。本文所用到的属性和方法有如下三个:

1)Root Key:注册表的根键名(如HKEY_LOCAL_MACHINE等);

2)Open Key(Key Name:string;Can Create:boolean):使当前键为Key Name,Can Create表示当指定的键不存在时是否创建,True表示创建

3)Set Key(Key Name,Key Value:string):使键Key Name的值为Key Value。

2.2 IE相关的注册表信息

获取IE浏览器关键功能和信息与注册表德对应键值是实现该程序的关键所在,其中:

1)IE主页:在注册表的SoftwareMicrosoftInternet ExplorerMain下的start page键值中存储;

2)IE标题栏:在注册表的SoftwareMicrosoftInternet ExplorerMain下的Window Title键值中存储;

3)注册表编辑器:SoftwareMicrosoftWindowsCurrent VersionPolicies管理注册表是否处于活动状态。如果注册表编辑器处于活动状态,那么其键值为true。如果注册表被锁住,其键值为false[3]。

3 详细设计

通过TRegistry构件、注册表和IE浏览器关联键值的分析,即可进行具体的代码设计。图1为该程序的功能流程图。

在Delphi开发环境中新建一个工程,在窗体上添加如下控件:一个Check List Box、一个Edit和两个Button。Check List Box的Items属性中添加五个选项,分别是:允许编辑注册表、恢复IE主页、恢复IE标题、恢复IE设置按钮和显示Internet设置选项。Edit控件用来编辑要设置的IE主页内容。两个Button控件的Caption属性分别命名为:应用和退出。然后,在“应用”按钮中编写代码。核心代码如下:

代码完成后,运行程序,程序运行如图2所示。

4 总结

本文介绍了用Delphi编写的IE保护器程序的方法,通过它可以对IE进行轻松的管理与维护。在此工作基础上可以进一步完善,如增加托盘功能,或者通过Timer控件对注册表进行实时监控,以及添加程序的自启动功能等。

摘要:分析了Delphi中Tregistry构建与Windows操作系统注册表的关联,归纳了开发网络浏览器进行保护程序的全部过程和方法,提供Delphi中Tregistry构建应用于Windows操作系统网络安全的基本思路。

关键词:网络浏览器,安全防护,Delphi,注册表

参考文献

[1]张福峰,李文广.Delphi下网页广告拦截技术的实现[J].沧州师范专科学校学报,2007,23(1):58-59.

[2]韦志鹏,王勇,李静.Delphi中面向对象程序设计思想[J].电脑知识与技术:学术交流,2007(1):267-271.

基于Java多线程的聊天室程序 篇10

网上各个网站提供的聊天室基本都是B/S结构的, 现在用Java实现一个C/S结构的聊天室程序。C/S结构包括两个方面:一个运行在服务器;一个运行在客户端。

2 工作原理

服务器程序运行后就等待客户端程序连入, 客户端根据服务器的IP地址和端口号连入, 这样服务器和客户端就建立了一个连接, 而且可以有多个客户端同时连入一个服务器。连接建立好之后, 每个客户端的发言都发送给服务器, 服务器接收后再转发给所有连入的客户端, 这样每个客户端就都能收到其他客户发出的信息了。这就是C/S结构聊天室的工作原理, 其实现主要使用如下两种技术:

(1) Socket:网络套接字, 让两个应用程序通过一个双向的网络通信链接实现数据交换。即服务器和客户端的应用程序各有一个Socket, 这两个Socket把服务器和客户端的程序连接起来并交换数据。

(2) 多线程:因为一个服务器要连入多个客户端, 要让服务器程序同时为多个客户服务, 就需要为每个客户端开辟一个线程, 专门负责处理该客户的信息。此外, 客户端程序不仅要发送信息给服务器, 还要不断接收服务器转发过来的信息, 因此也需要开辟一个线程专门负责接收服务器的信息。

3 程序实现

3.1 服务器端

建一个类, 名称为ChartServer, 代表服务器程序。在该类中, 首先定义一个ServerSocket, 并指明端口号, 这样服务器端的Socket就建立好了。然后去接收客户端的请求, 并且把客户端传来的Socket放入一个HashSet中保存 (HashSet集合中保存所有客户的Socket, 以便服务器) , 最后启动一个线程负责该客户, 在线程中不断接收该客户发送的信息并转发给HashSet中所有的客户。代码如下:

3.2 客户端

建一个ChartClient类作为客户端程序。运行后如图1所示。首先构建好界面, 然后定义Socket, 指明服务器的IP地址和端口号, 这样就建立起了客户端到服务器的连接。连接建立之后服务器和客户端就可以互相发送数据信息了。接下来启动一个线程专门负责接收服务器发送来的信息并显示到聊天室里。最后, 还要写一个事件, 负责把客户的发言发送给服务器, 让发送按钮注册该事件, 这样单击按钮就可以发送信息了。在这个过程里, 信息的发送和接收都是通过I/O实现的。代码如下:

4 结语

网络聊天程序论文 篇11

关键词:项目教学法;网络程序设计;项目;教学

中图分类号:G642文献标识码:A文章编号:1009-3044(2007)12-21773-02

Some Practice and Considerations on the Item of Teaching Pedagogy Combined with the Course Called Network Programming

ZHANG Jin-rong

(Yangjiang Vocational & Technical College, Yangjiang 529566, China)

Abstract:The item of teaching pedagogy is one kind of interactive teaching model of teaching and learning. It applies properly to elaborate the creativity of students, and reconstruct the knowledge which gives full play to the social practicing. This paper focuses on the practicing of the item of teaching pedagogy combined with the course called Network Programming.

Key words:the item of teaching pedagogy; the designing of network program; item; teaching

1 引言

就计算机相关各专业的学生而言,在当今网络飞速发展,网络技术日新月异的社会,不学习一点网络程序设计的知识就不配做计算机相关专业的学生,而《网络程序设计》这一门课也就自然而然地成了计算机专业的一门必修课。但就像众所周知的那样,《网络程序设计》这一门课程不管是开设ASP,还是JSP或ASP.net都离不开编写代码、设计数据库、构造系统并实现一定的功能,而这对于没有多少编程基础又没有基本的软件工程概念的学生而言,无疑是一根难啃的骨头。依以往的教学经历,学生对于《网络程序设计》这一门课是既喜欢又害怕的。喜欢的是,通过学习这一门课程,可以掌握一种动态网页开发技术,能自行编写代码实现个性化的个人主页等,并收获一定的成就感;害怕的是,这一门课程所涉及的编程技术是需要下苦功夫才能有所领会,而对于那些性情带点浮躁又急功近利的学生而言,掌握这一门技术似乎有点可望而不可及。基于以上原因,再结合本门课程的教学目标在于培养学生的整体规划能力,一定的编程能力和较强的团队合作精神,采用项目教学法来实施《网络程序设计》这一门课程的教学将是一个明智的选择,也是一种行之有效的教学办法。

2 项目教学法的原理及其应用

项目教学法是由美国著名儿童教育家、伊利诺易大学教授凯兹博士和加拿大教育家、阿尔伯特大学教授查德博士共同推创的一种以学生为本的活动教学法,具体而言就是师生通过共同实施一个完整的项目工作而进行的教学活动。项目教学法可以让学生摆脱纯粹的理论说教,让自个儿处在真实的决策中,身临其境地参与个案资料的收集和实际操作,弥补了课堂讲授和单一案例讨论在教学中的缺陷和不足。此外,项目教学法还可以培养学生的独立思考能力,提高学生的沟通能力以及培养学生的团队合作精神。正由于项目教学法是一种教学互动的模式,它旨在把学生融入有意义的任务完成的过程中,让学生积极地学习、自主地进行知识的建构,并以学生自主生成的知识量和培养起来的能力作为教学效果的衡量,是应用于工程类教学最佳的教学法之一,被广泛应用于MBA的教学当中。

鉴于项目教学法对于工程类教学的优势,我在《网络程序设计》的教学中采用了项目教学法。在教学之初,我先向学生声明本门课程教学的目标以及教学方式,要求学生自主分组并承担完成一个项目作为期末考核的内容。由于笔者兼职管理学院网络信息中心,平時负责开发一些简单的网络应用项目,因而可以分派一些小的子项目给学生实践。又由于项目开发是一个整体规划并分步实施的过程,这正好配合了教学过程的循序渐进。在学期初,学生接到项目内容后,为了共同完成期末的考核,小组内都能自发地根据项目内容组织相关的讨论,作出需求分析并定向所使用的技术,同时也为以后的听课标明了重点。这在一定程度上提高了学生的分析能力、沟通能力,加强了团队合作精神。在讲授课本知识时,我大处从项目着眼,小处从案例出发,并不时引导学生把刚学到的知识应用到项目中去。在每次的课堂教学中,我都会从项目中抽取案例辅助讲解知识点,然后由小组讨论其各自项目应如何应用本节所学习到的知识,并鼓励小组之间进行经验交流和技术探讨。随着课程教学的推进,学生对《网络程序设计》知识的掌握也由零星趋向系统,分析问题和解决问题的能力都有极大的提高。每一章内容讲授完毕,我都要验收各小组项目的阶段性成果,并给予相应的评价。这样,小组既有压力也有动力,并在切身体验中领悟项目开发的理念和收获成功的喜悦。在临近期末讲授综合案例时,学生已基本掌握项目开发的过程并明确在项目开发的各个环节中应该如何规划需求,采用何种技术实施,因而,综合案例的讲授对于学生而言,已不再是一碗迷魂汤而是一次有趣的技术交流。采用项目教学法后,一个学期下来,学生基本掌握了网络程序设计技术,也提高了综合分析问题的能力和整体规划、开发实施项目的能力。相对于以往而言,过去那种遇到问题就目瞪口呆、束手无策的局面已被现在的激烈讨论和忙碌查询、规划的身影所代替。正所谓实践出真知,纸上谈兵是行不通的,只有让学生身临其境,真实融入到应用该门技术的项目中,用学生自己的双眼去发现社会的需求,用学生自己的双手去解决生活中现实的问题,学生才真正掌握了该门课程的精髓,这正是采用项目教学法的目的所在。

3 应用项目教学法时要注意的一些问题

项目教学法应用于《网络程序设计》的教学中,有效地提高了学生的整体规划能力、实际动手能力和交流沟通能力,并在掌握课堂知识的层面上取得了较好的成绩。但对于项目教学法的应用还是要注意一些问题的。

(1)由于项目开发本身是一个整体规划并分步实施的过程,项目教学法的应用要求科任教师首先要对本课程有一个系统的思路,明了学生的学习进程并善于观察学生的兴趣趋向,积极发挥创造性,根据学生的特点设计出既发展个性又注意全面平衡的教学方案,使学生群情并发,积极参与课堂,而不至于出现有人滥竽充数、蒙混过关的现象。

(2)选取的项目必须有实用价值,这样才能激发学生的参与热情,并最终提升学生的成就感。采用项目教学法时,教师首先要积极参与本课程相关项目的开发,并把其中一些小项目引入课堂,以项目经理的角色指导学生,让学生有融入其中的体验。

(3)项目教学法的应用毕竟是把项目带进了课堂,总免不了必要的现实问题的讨论和经验共享,这就要求教师灵活把握课堂,对教学过程进行必要的调整。课堂知识的讲授应更注重于与现实社会需求的联系,所采用的项目必须是现实生活的一种真实反映,这样才能让学生更快地模拟进入真正的社会角色。只有让学生暂时忘记学生的角色,模拟在未来的工作岗位上思考、处理问题,才能让学生有质的飞跃,真正锻炼出一种实在的能力。因此,师生之间的交流必须充分,而实际项目的分析也显得尤为重要。

(4)由于项目开发需要一定的技术基础知识,因而采用项目教学法时不能急于求成,应注意与其他教学法如案例教学法等的组合应用,循序渐进地推进项目教学的开展。此外,针对不同学生的知识水平,每学年所采用的项目教学内容应该有所调整,并组织相关科任教师自编教材,以更好地适应学生现实的需要,做到以学生为本,从社会实际出发,更好地发挥项目教学法的效用。

4 结束语

总而言之,项目教学法能有效地把课堂和社会实际紧密联系起来,恰当地应用项目教学法能使学生学习知识更有针对性和系统性,极大地提高学生的实践能力、沟通能力,并培养其良好的团队合作精神,产生远优于传统教学的教学效果。但项目教学法的应用也要注意考虑课程内容及教师的各方面因素,理性地选择教学法,不能一律盲从,适合采用项目教学法的则采用之,不适合的则舍之。

在《网络程序设计》课程的教学中,笔者对所教的教学班都采用了项目教学法,但成效各异:在三年制的计算机专业教学班中,由于学生有一定的编程基础,本课程采用项目教学法让其提前步入了职业角色,有挑战性,也激发了其参与热情,取得较好的教学成效;而在五年制信息技术教学班中,由于学生的编程基础较差,又由于是师范专业,学生的兴趣不大,学习成效不太明显。由此可见,项目教学法的良好成效的发挥受各方面因素的制约,其最大效用的激发还有待进一步的实践与探讨。

參考文献:

[1]苏华萍. 项目教学在网页制作中的应用. 浦东教育[J]. 2005,(2).

[2]查德博士,谷灿春. 项目教学[M].

[3]吴言. 项目教学法. 职业技术教育[J]. 2003.7.

网络聊天程序论文 篇12

在Linux中, 为了简化对设备的管理, 将所有的外围设备都归结为三类:字符设备 (如键盘, 鼠标等) 、块设备 (如硬盘、软驱等) 和网络设备 (如网卡、串口等) 。为了将网络环境中的物理网络设备的多样性屏蔽, Linux对所有的网络物理设备抽象并定义了一个统一的概念:接口 (Interface) 。对于所有的网络硬件都是通过接口进行访问的, 接口实际上提供了一个对于所有类型的网络硬件的一致化的操作集合, 用于处理对数据的发送和接收。对于每一个已经驱动了的网络设备, 都用一个struct device的数据结构表示。在内核启动或者驱动模块插入时, 通过网络驱动程序, 向系统注册检测到的网络设备。在进行网络数据传输的时候, 网络驱动程序应通过标准的接口将数据发送到相应的网络层, 或者向网络发送数据包。

网络接口并不存在于Linux的文件系统中, 而是定义在内核中的struct device的一个数据结构中。每一个device的数据结构都是在驱动的时候创建的。而不像字符设备或者块设备那样, 即使不存在物理设备也存在有这个设备文件。这是在linux2.2内核版式本之后做的改动, 在这个版本之前, 一旦网络驱动程序被激活, 在/dev目录下就会出现eth0的文件, 对这个设备文件的读写就完成了网络传输, 这种做法现在还是用在字符设备和块设备上。现在的版本是数据包的发送和接收都通过直接对接口进行方问来完成。

2 网络驱动程序中用到的重要数据结构

Struct device这个数据结构是在系统中每一个设备的代表。每一个被系统检测到的网络设备都应该使用struct device类型的节点存在于dev_base中, dev_base是内核中存在的外部变量。如果采取的是内核检测网卡设备的方式, 那么在整个内核可能支持的网络设备的struct device节点。在网络驱动程序检测完之后, 将不存在的网络设备对应的节点删除, 剩下的就是检测到并且得到正确驱动的网络设备。

在这个数据结构里面, 主要定义的成员变量init函数指针, 这个函数指针初始化为设备驱动程序中提供的用来初始化device结构的过程, 这个过程实际上就是用来检测和驱动网络设备的。在检测进行之前, 每一个节点的init函数都指向对应的初始化函数;检测的时候对每一个节点都分别调用init函数指针, 如果成功返回的话, 将该节点保留。

同时, 在这个结构里面定义了对硬件设备的打开和关闭函数指针 (open, close) 硬件头的建立函数指针 (hard_header) ;硬件上数据的传输过程 (hard_sart_xmit) 。当网络设备打开的时候, 就可以通过这个网络设备开始传输数据了, 传输出来的数据存放在struct sk_buff结构里面。Hard_start_xmit函数指针是和某一种具体的硬件相关的, 通过d e v_q u e u e_x m i t这个外部函数调用hard_start_xmit函数指针完成网络数据的发送过程。

3 重要的驱动过程

驱动网络设备驱动程序方法有两种:通过模块驱动和通过内核启动时自动检测的方法。通过模块驱动的方法是Linux中使用模块设计的一种方案。我们知道, linux的内核是将所有的支持编译在一起的, 并不是微内核技术。如果对linux内核增加一项功能, 就把它的实现直接放在内核的代码中。不过为了让linux的内核体积不至于过于庞大, 采用了编译成模块的方式。在需要用到这个模块的时候, 用shell命令的insmod将该模块插入到内核运行空间;如果不需要了, 可以用rmmod命令将该模块卸载。I n s m o d触发的是cleanup_module () 函数。在init_module () 函数里面, 会调用到这种网络设备的init函数指针, 如果检测到了这种网络设备, 并且初始化成功, 那么就将这个网络设备对应的device结构插入到dev_base链表里面。

使用内核启动检测的方法有所不同。在系统启动的时候, 内核把所有编译在内核内部支持的网卡设备都初始化在一个s t r u c t device类型的dev_base链表里面, 然后对于每个节点都调用自己的init函数指针。如果该函数返回成功, 那么该节点对应的设备保留;否则, 该节点对应的设备不存在, 将该节点删除。这样, 在系统初始化的最后, 剩下来在dev_base里面的所有节点就全是系统检测到的网络设备了。

以ne.c为例, init_module () 函数首选初始化d ev设备的in it函数指针, 然后调用register_netdev () 函数在系统中登记该设备。如果登记成功, 那么模块插入成功, 否则就返回出错信息。在register_netdev () 里面, 首先检查该网络设备名是否已经确定, 如果没有, 就赋给一个缺省的名称。然后中, 调用网络设备驱动程序中的init_function, 也就是dev->init函数指针来检测网卡设备是否存在, 并且做dev的初始化工作。如果初始化成功, 将dev插入到dev_base链表的尾部。整个调用流程如图1所示。

内核启动的驱动方法, 内核启动的驱动方法和模块驱动的方法不同, 前者要对所有内核支持的网络调和设备进行检测和初始化, 而后者只需要检测和初始化被装载的网络设备。为了在启动的时候对所有可能存在的网络设备都检测一遍, 系统会在启动前将所有支持的网络设备对应的device结构都挂在dev_base链表上, 正如前文所述。然后使用net_dev_init () 函数依次对dev_base里面每一个节点都运行init函数指针, 如果返回成功, 那么该节点对应的设备存在;否则就将该节点删除。最后在链表中剩下的所有网络设备都是存在的, 并且已经完成了初始化。

上一篇:工作与否下一篇:狭长受限空间