消息的产生与传递
- 格式:doc
- 大小:35.50 KB
- 文档页数:4
信息传递的发展史信息传递的发展史我国是世界上最早建立有组织的传递信息系统的国家之一。
早在三千多年前的商代,信息传递就已见诸记载。
乘马传递曰驿,驿传是早期有组织的通信方式。
位于嘉峪关火车站广场的“驿使”雕塑,它取材于嘉峪关魏晋壁画墓,驿使手举简牍文书,驿马四足腾空,速度飞快。
此砖壁画图于一九八二年被中华全国集邮联合会第一次代表大会作为小型章邮票主题图案使用,由此看出嘉峪关是中国信息文化的发源地之一。
秦汉时期,形成了一整套驿传制度。
特别是汉代,将所传递文书分出等级,不同等级的文书要由专人、专马按规定次序、时间传递。
收发这些文书都要登记,注明时间,以明责任。
隋唐时期,驿传事业得到空前发展。
唐代的官邮交通线以京城长安为中心,向四方辐射,直达边境地区,大致30里设一驿站。
据《大唐六典》记载,最盛时全国有1639个驿站,专门从事驿务的人员共二万多人,其中驿兵一万七千人。
邮驿分为陆驿、水驿、水路兼并三种,各驿站设有驿舍,配有驿马、驿驴、驿船和驿田。
唐代对邮驿的行程也有明文规定,陆驿快马一天走6驿即180里,再快要日行300里,最快要求日驰500里;步行人员日行50里;逆水行船时,河行40里,江行50里,其它60里;顺水时一律规定100到150里。
诗人岑参在《初过陇山途中呈字文判官》一诗中写到“一驿过一驿,驿骑如星流;平明发咸阳,幕及陇山头”。
在这里他把驿骑比做流星。
天宝十四载十一月九日,安禄山在范阳起兵叛乱。
当时唐玄宗正在华清宫,两地相隔三千里,6日之内唐玄宗就知道了这一消息,传递速度达到每天500里。
由此可见,唐朝邮驿通信的组织和速度已经达到很高的水平。
宋代将所有的公文和书信的机构总称为“递”,并出现了“急递铺”。
急递的驿骑马领上系有铜铃,在道上奔驰时,白天鸣铃,夜间举火,撞死人不负责。
铺铺换马,数铺换人,风雨无阻,昼夜兼程。
南宋初年抗金将领岳飞被宋高宗以十二道金牌从前线强迫召回临安,这类金牌就是急递铺传递的金字牌,含有十万火急之意。
人们怎样传递消息科学教案第一章:引言1.1 教学目标让学生了解消息传递的基本概念。
引起学生对消息传递方式的兴趣。
1.2 教学内容消息传递的定义:消息是指信息、新闻、通知等内容在人们之间的传递。
消息传递的必要性:人们需要通过传递消息来交流、分享信息、协调行动等。
1.3 教学活动引入话题:通过讨论学生们日常生活中接触到的消息传递方式,引出本章的主题。
观看相关视频:播放一段关于消息传递方式的短视频,让学生们了解不同的消息传递方式。
第二章:口头消息传递2.1 教学目标让学生了解口头消息传递的特点和方式。
2.2 教学内容口头消息传递:通过口头语言进行消息的传递,包括对话、演讲、电话等。
口头消息传递的特点:直接性、即时性、互动性等。
2.3 教学活动小组讨论:让学生们分组讨论口头消息传递的例子,并分享他们的发现。
角色扮演:学生们分组进行角色扮演,模拟不同的口头消息传递场景,体会口头消息传递的特点。
第三章:书面消息传递3.1 教学目标让学生了解书面消息传递的特点和方式。
3.2 教学内容书面消息传递:通过书面语言进行消息的传递,包括信件、邮件、短信等。
书面消息传递的特点:持久性、可传递性、可保存性等。
3.3 教学活动小组讨论:让学生们分组讨论书面消息传递的例子,并分享他们的发现。
制作海报:学生们分组制作海报,展示书面消息传递的特点和方式。
第四章:电子消息传递4.1 教学目标让学生了解电子消息传递的特点和方式。
4.2 教学内容电子消息传递:通过电子设备进行消息的传递,包括电子邮件、即时通讯软件、社交媒体等。
电子消息传递的特点:高速度、远距离、多渠道等。
4.3 教学活动小组讨论:让学生们分组讨论电子消息传递的例子,并分享他们的发现。
演示电子消息传递:学生们进行现场演示,使用电子设备进行消息的传递。
5.1 教学目标5.2 教学内容思考消息传递的发展趋势:随着科技的发展,消息传递方式也在不断变化,学生们可以思考未来的消息传递方式会怎样发展。
传递信息传递信息是人类社会中不可或缺的一环。
从古至今,人们通过各种方式传递信息,以实现有效的交流和沟通。
无论是面对面交谈、书信传递,还是现代化的电子邮件、短信,信息传递一直在为我们提供便利。
人类的信息传递起源于最简单的语言沟通。
早期的人类通过口头语言传达他们的想法和意图。
尽管时间长久,这种传递方式依然是人们交流的重要手段。
人类语言的多样性和丰富性,使得人们能够以不同的方式表达,从而更好地传递信息。
文化的发展也推动了信息传递的进步。
古代社会的文字发明,使得人们可以通过书写方式将信息传递给他人。
文字的诞生大大改变了人类的交流方式,并且成为信息传递的历史性突破。
文字可以长期保存,可以被多次传阅,从而使得信息得以更广泛地传递。
随着科技的进步,信息传递的方式也发生了很大的改变。
电子邮件、短信等现代化通讯工具的出现,使得信息传递更加快捷、方便。
通过互联网的普及,人们可以随时随地与全世界的人进行交流。
信息的传递速度大大加快,距离感也被逐渐拉近。
信息传递的目的多种多样。
在个人交际中,人们经常传递个人意见、感受和观点,以建立更好的关系。
在商业领域,信息传递起到了促进交易和业务发展的重要作用。
政府机构通过信息传递来发布政策、做出决策,以满足公众的需求。
传媒通过多种途径传递新闻和信息,使得大家能够更好地了解世界。
然而,信息传递也存在一些问题和隐患。
语言的多义性和误解可能导致信息传达不准确。
信息的篡改和错误也可能导致误解和混乱。
此外,信息泛滥和垃圾信息的存在也给人们的信息获取和传递带来了困扰。
因此,在信息传递中,我们需要注意信息的准确性和真实性,以及保护个人隐私和权益。
信息传递的成功离不开良好的沟通技巧。
在传递信息的过程中,我们需要注意语言的准确性、清晰性和简洁性。
我们应该尽量避免使用模糊的措辞和复杂的句子结构,以确保信息能够被准确地理解和传达。
此外,倾听对方的观点和意见也非常重要,以实现更好的互动和交流。
随着科技的进步和社会的发展,信息传递的方式也在不断演变。
人类传递信息的发展史人类传递信息的发展史可以追溯至远古时期,随着人类社会的发展和进步,人们传递信息的方式也逐步演变和改进。
以下是人类传递信息的发展史的简要概述:1.口头传统:在没有文字的时代,人们通过口头传统的方式传递信息。
这包括口头语言、口头故事、歌谣和神话等。
口头传统是最早也是最基本的一种信息传递方式,不仅可以传递知识和经验,还包含了文化和价值观念等元素。
2.图画传递:随着人类认知能力的发展,人们开始使用图画来传递信息。
这可以追溯到旧石器时代的洞穴壁画,通过绘画的方式记录和传递重要的信息和事件。
图画传递是文字出现之前的一种重要的信息传递方式。
3.符号与文字:约在公元前4000年,人类发明了最早的象形文字,即把事物的形象以像形来表示。
后来的发展逐渐演变为其他类型的文字,如表意文字和音节文字等。
文字的出现极大地推动了人类信息传递方式的进步,使人们能够更有效地记录和传播信息。
4.书写与印刷:人类逐渐发展出各种书写工具,如刻写石板、纸张和墨水等,使得书写成为一种常见的信息记录方式。
通过书写,人们能够制作长期保存的文档和书籍,实现信息的持久存储和传递。
随后,印刷术的出现又进一步促进了信息传递的速度和广度。
5.报纸与书籍:18世纪末19世纪初,新闻报纸开始出现并迅速传播。
报纸以其便捷的方式,使人们能够即时了解国内外的新闻和事件。
同时,印刷技术的改进也使书籍更加普遍和容易获取,人们可以通过阅读书籍,获取更为系统和深入的知识。
6.电信技术:19世纪以后,随着电信技术的发展,人类传递信息的方式发生了革命性的变化。
电话的发明使人们能够通过语音进行实时的远程通信。
随后,无线电、电视以及互联网的出现更加深远地改变了人们的信息传递方式。
无线电与电视使得信息能够通过广播和电视传递到世界各个角落,而互联网则使信息的获取和传播变得更为便捷和全球化。
7.移动通信与社交媒体:20世纪末21世纪初,移动通信技术的发展使得人们可以随时随地进行信息的传递和接收。
大班科学人们怎样传递消息一、大班科学人们怎样传递消息在我们的日常生活中,我们经常会听到一些关于大班科学人们如何传递消息的故事。
这些故事通常都是以一种非常有趣的方式来讲述的,但是它们也包含了很多有用的信息。
在这篇文章中,我将从理论和实践两个方面来探讨大班科学人们如何传递消息。
二、理论分析1.1 信息传递的基本原理我们需要了解信息传递的基本原理。
信息传递是指将某个信息从一个地方传送到另一个地方的过程。
在这个过程中,信息的发送者需要将信息编码成一种可以被接收者理解的形式,然后通过某种媒介将信息传输给接收者。
接收者则需要将接收到的信息解码成原始信息,以便对其进行处理和使用。
1.2 大班科学人们的信息编码方式在大班科学中,老师通常会采用一种非常特殊的信息编码方式来进行教学。
这种方式被称为“大白话”。
所谓“大白话”,就是用非常简单易懂的语言来表达复杂的概念和理论。
这样做的好处是可以让学生们更容易地理解和掌握知识。
例如,当老师讲解一个物理概念时,他可能会说:“你知道什么是摩擦力吗?其实就是两个物体之间互相作用的力量。
如果你想让一个球从斜面上滚下来,你需要施加一个向上的力,这个力就叫做重力。
”这样的解释方式非常直观明了,让学生们很容易就能理解摩擦力和重力的概念。
1.3 大班科学的信息传输方式除了采用特殊的信息编码方式之外,大班科学还会采用一些特殊的信息传输方式来确保学生们能够及时地获取到最新的知识和技能。
其中最重要的一种方式就是“互动式教学”。
在这种教学模式下,老师会鼓励学生们积极参与课堂讨论和活动,并及时给予反馈和指导。
这样一来,学生们就能够更好地理解和掌握所学内容,并且能够更快地将其应用到实际生活中去。
三、实践案例分析2.1 案例一:物理实验课上的应用在一次物理实验课上,老师带领学生们进行了一次关于摩擦力的实验。
在实验过程中,老师采用了“大白话”的方式来向学生们解释摩擦力的概念和作用。
他告诉学生们:“摩擦力就像是两个物体之间的纽带一样,它可以防止它们相互滑动或者滚动。
人们怎样传递消息科学教案一、教学目标:1. 让学生了解和掌握消息传递的基本方式,包括口头、书面的传统方式以及现代通讯技术。
2. 培养学生对科学探究的兴趣和能力,通过实践活动,提高学生的问题解决和信息交流能力。
3. 增强学生对科技发展对社会生活的影响的认知,培养学生的科技伦理观念和社会责任感。
二、教学内容:1. 消息传递的定义和重要性2. 传统消息传递方式:口头、书面3. 现代通讯技术:电话、互联网、移动通讯等4. 消息传递的实践应用:情境模拟、案例分析5. 科技伦理和社会责任三、教学方法:1. 讲授法:讲解消息传递的定义、类型和重要性。
2. 演示法:展示传统和现代消息传递的方式。
3. 实践法:学生通过情境模拟和案例分析,亲身体验消息传递的过程。
4. 小组讨论法:分组讨论消息传递的实践应用和科技伦理问题。
四、教学准备:1. 教学PPT:包括消息传递的定义、类型、方式、实践应用和科技伦理等内容。
2. 教学素材:包括传统和现代消息传递的实物或图片。
3. 实践活动材料:如情境模拟的道具、案例分析的资料等。
4. 小组讨论指南:提供讨论话题和问题。
五、教学过程:1. 导入:通过一个发生在校园里的新闻事件,引发学生对消息传递的思考,导入新课。
2. 讲解:讲解消息传递的定义、类型和重要性,介绍传统和现代消息传递的方式。
3. 演示:展示传统和现代消息传递的实际操作,如模拟打电话、发短信等。
4. 实践:学生分组进行情境模拟,体验消息传递的过程,并开展案例分析,讨论消息传递的实际应用。
5. 讨论:分组讨论消息传递在现代社会中的作用和影响,以及科技伦理和社会责任问题。
6. 总结:总结消息传递的各种方式及其特点,强调科技发展对社会生活的影响,并提出对科技伦理和社会责任的思考。
7. 作业:布置相关的思考题和实践题,让学生课后思考和探究。
六、教学评估:1. 课堂参与度:观察学生在课堂上的发言和讨论情况,评估学生的参与度和积极性。
“消息”一词的来源
“消息”一词最早出现于《易经》:“日中则昃,月盈则食;天地盈虚,与时消息。
”意思是说,太阳到了中午就要逐渐西斜,月亮圆了就要逐渐亏缺,天地间的事物,或丰盈或虚弱,都随着时间的推移而变化,有时消减,有时滋长。
太史公亦曰:“黄帝考定星历,建立五行,起消息。
”皇侃注云:“乾者阳,生为息;坤者阴,死为消也。
”由此可见,消息之义,盖已古矣。
中国古代就把客观世界的变化,把它们的发生、发展和结局,把它们的枯荣、聚散、沉浮、升降、兴衰、动静、得失等变化中的事实称之为“消息”。
只是到了近代才逐渐成为一种固定的新闻体裁,所以“消息”又叫新闻。
信息技术导论-信息传递《信息技术导论信息传递》在我们生活的这个时代,信息传递的重要性不言而喻。
从远古时代的烽火狼烟、飞鸽传书,到现代的互联网、卫星通信,信息传递的方式发生了翻天覆地的变化,深刻地影响着人类社会的发展和进步。
信息传递,简单来说,就是将信息从一个地方传递到另一个地方,让接收者能够理解和利用这些信息。
它就像是一座无形的桥梁,连接着人与人、人与世界。
在古代,信息传递的速度非常慢,一封信可能要经过数月甚至更长时间才能到达目的地。
而如今,我们只需轻点鼠标或触摸屏幕,就能在瞬间与世界各地的人交流信息。
信息传递的方式多种多样。
最常见的当属语言交流。
人们通过面对面的交谈、电话通话或者网络语音聊天,将自己的想法、感受和需求传达给对方。
这种方式直接、即时,能够迅速得到反馈。
文字也是一种重要的信息传递方式。
书籍、报纸、杂志、电子邮件等,都是通过文字来传递信息。
文字的优点在于它可以被记录和保存,方便人们随时查阅和回顾。
而且,通过精心组织和编辑的文字,能够更准确、更深入地表达复杂的思想和知识。
图像和视频的信息传递方式在当今社会越来越受欢迎。
比如,我们通过电视新闻、网络视频、图片分享网站等,能够直观地了解到世界各地正在发生的事情。
图像和视频能够在短时间内传递大量的信息,给人留下深刻的印象。
随着信息技术的不断发展,网络成为了信息传递的主要渠道之一。
互联网让信息的传播变得更加迅速和广泛。
社交媒体平台让人们可以轻松地分享自己的生活点滴、观点和经验,也能够获取他人的信息。
在线新闻网站让我们能够及时了解到全球的时事动态。
电子商务平台则让商家和消费者能够方便地进行信息交流,完成交易。
信息传递的速度和准确性是衡量其质量的重要标准。
在紧急情况下,比如自然灾害、突发疾病等,快速准确地传递信息能够挽救生命和减少损失。
在商业领域,及时获取准确的市场信息可以帮助企业做出正确的决策,提高竞争力。
然而,信息传递也并非总是一帆风顺。
在信息传递的过程中,可能会出现各种干扰和误差。
八年级物理上册《信息的传递》知识点总结(人教版)1. 信息的产生和传递在日常生活中,我们时常与信息打交道。
信息的传递是指将信息从一个地方传送到另一个地方的过程。
具体来说,信息的产生和传递过程包括以下几个环节:•信息的产生:信息的产生可以通过感觉器官、设备和技术手段等方式得到。
•信息的编码:信息需要被转换成可以传输的形式,比如文字、语言、图像等。
•信息的传输:信息通过介质传输,可以是声波、电磁波等。
•信息的解码:接收者将接收到的信息解码,还原成原始的信息内容。
2. 声音的传播声音是一种机械波,是由物体振动引起的。
声音的传播需要介质的存在,比如空气、水等。
声音的传播速度与介质的性质有关,例如在空气中声速为343米/秒。
此外,声音的传播还受温度、湿度等环境因素的影响。
在实际应用中,我们常常利用声音的传播进行信息的传递。
电话、广播等都是利用声音的传播原理进行通信的典型例子。
3. 光的传播光属于电磁波,它是以光速传播的。
光的传播不需要介质,可以在真空中传播。
光的传播速度为3×10^8米/秒。
光的传播可以通过反射、折射等现象进行控制。
光的反射是指光线遇到界面时,发生方向改变的现象。
折射是指光线从一种介质传播到另一种介质时发生方向改变的现象。
光的传播还涉及到光的色散、透明与不透明等知识点。
光的色散是指光在经过某些物质时,由于折射率的不同,产生色彩分离的现象。
而透明与不透明则与物质对光的吸收和传播有关。
4. 电信号的传输电信号是一种电流或电压的变化,通过电路传输信息。
电信号的传输可以用导线等传输介质进行。
在传输过程中,电信号可能遇到电阻、电容、电感等电路元件的影响,从而导致信号的衰减、延迟等问题。
为了有效地传输电信号,我们需要合理设计电路,选择适当的传输介质,并做好抗干扰的措施。
5. 信息的加密与解密在信息传递过程中,为了保证信息的安全性,有时候需要对信息进行加密。
加密是指对原始信息进行变换,使其不易被他人理解的过程。
消息推送原理
消息推送是一种将通知和消息发送给用户的机制,常见于移动应用、社交媒体和电子邮件等平台。
下面介绍消息推送的基本原理:
1. 用户注册:用户在应用程序中注册并提供关联信息,通常包括设备标识符(如移动设备的设备ID或推送通知服务的注册ID)和用户偏好设置等。
2. 服务器端准备:推送服务提供商在服务器端准备消息以及发送对象的列表。
这些列表可以是特定用户、用户组或者所有用户。
3. 创建和发送消息:应用服务器生成具体的消息内容,并将消息发送给推送服务提供商。
消息可以包含文字、图片、链接或者其他多媒体形式。
4. 消息传递:推送服务提供商使用设备标识符列表,将消息传递给目标设备。
推送服务商负责确保消息的安全和准确传递。
5. 设备接收:目标设备接收到推送消息后,将其显示给用户。
这可能是通过弹出通知、应用图标标记或者在应用内显示等方式。
6. 用户交互:用户可以根据接收到的消息选择进行相应的操作,例如点击通知打开应用、忽略通知或者执行其他指定操作。
需要注意的是,消息推送是依赖于网络连接和推送服务商的支持的。
当设备处于不活跃或没有网络连接时,消息可能无法即时传达。
此外,用户可以通过设置来控制是否接收消息推送,以及对不同类型的通知进行优先级排序。
信息传递的基本程序信息传递是人类社会中不可或缺的一环,它涉及到信息的产生、编码、传输、解码和接收等过程。
信息传递的基本程序包括信息的产生、编码、传输、解码和接收五个环节,每个环节都起着重要的作用。
信息的产生是信息传递的第一步。
在现代社会中,信息的产生源头多种多样,包括人类的思想、感知和观察,以及各种传感器、仪器和设备的测量和监测。
信息的产生需要基于准确的观察和实验,并经过合理的推理和分析,才能得出可靠的结论。
信息的编码是将产生的信息转化为一定形式的过程。
编码的目的是为了使信息能够在传输过程中被有效地传递和理解。
常见的编码方式包括文字、声音、图像、数字等。
不同的信息形式需要采用相应的编码方式,以便接收者能够准确地解码和理解信息。
信息的传输是信息传递的核心环节。
信息传输可以通过多种方式进行,如口头交流、书信、电话、电视、互联网等。
不同的传输方式具有不同的传输速度、传输距离和传输容量。
在信息传输过程中,需要保证传输的稳定性和可靠性,以确保信息能够准确地传递到目标地点。
信息的解码是接收者对编码后的信息进行还原和理解的过程。
解码的目的是将编码后的信息转化为可理解的形式,使接收者能够准确地理解信息的含义。
解码需要依靠接收者的知识、经验和语言能力,以及相关的工具和设备,如解码器、软件等。
信息的接收是信息传递的最后一步。
接收者接收到传输过来的信息后,需要通过解码和理解,将其转化为自己可以理解的形式。
接收者需要具备良好的听觉、视觉和思维能力,以及相关的知识和背景,才能准确地理解信息的含义。
信息传递的基本程序是一个循环过程。
在实际的信息传递中,信息的产生、编码、传输、解码和接收是相互关联、相互影响的。
只有当每个环节都得到良好的完成,信息才能够准确、有效地传递和理解。
在信息传递的基本程序中,每个环节都需要高度的注意和重视。
信息的产生需要准确和可靠的数据和信息源;信息的编码需要选择合适的编码方式和工具;信息的传输需要稳定和可靠的传输通道和设备;信息的解码需要准确和可靠的解码工具和技术;信息的接收需要良好的接收能力和理解能力。
信息传递的发展历程人类历史上的信息传递可以追溯到口头传统的时代。
在这个时期,人们通过口头交流来传递信息和知识。
然而,因为人们的记忆有限,口头传递往往受到时间和空间的限制。
随着文字的发明,信息传递进入了文字传统的时代。
人们开始使用符号和文字来记录和传递信息。
这种方式极大地扩展了人们的传递能力。
文字的出现使得信息的记录更加准确和持久,同时也克服了时间和空间的限制。
随着印刷术的发明,信息传递进入了印刷传统的时代。
印刷术的出现大大提高了信息的传递效率。
书籍、报纸和杂志的出现使得信息可以被大规模地复制和传播。
这种方式使得知识和信息得以更广泛地传播,推动了文化和科学的发展。
随着工业革命和电信技术的进步,信息传递进入了电子传统的时代。
电报、电话和无线电等通信技术的发展使得信息的传递更加迅速和方便。
人们可以通过电子媒介迅速地传递信息,不受时间和空间的限制。
这种方式加速了信息的传播速度,拉近了人与人之间的距离。
现代信息传递进入了数字传统的时代。
互联网的普及和信息技术的发展使得人们可以通过网络传递和获取各种形式的信息。
社交媒体、电子邮件和即时通讯等技术的出现使得信息的传递更加便捷和高效。
人们可以随时随地通过移动设备获取信息。
这种方式使得信息的传递速度变得极其迅速,推动了全球范围内的信息共享和交流。
可以说,信息传递的发展历程是从口头传统到文字传统,再到印刷传统,然后是电子传统,最后发展到了数字传统。
每一次的发展都极大地推动了人类社会的进步和发展,使得信息传递变得更加高效和便捷。
未来,随着科技的不断进步,信息传递将继续向更高层次的发展。
信息传递理论信息传递理论是一种现代复杂系统研究的一种重要方法。
它能帮助人们了解信息如何在不同的环境中相互传递,以及它们之间的可能影响和因果关系。
信息传递理论被广泛应用于诸如技术发展、社会结构、教育趋势、经济运行和社会政策制定等领域,可以说是一门重要的研究领域。
信息传递理论是基于我们认识到现实世界是一个开放的系统,它们受它们的内部因素和外部因素的双重影响。
既有内部因素可以引起信息的转变,也有外部因素可以引起信息的转变。
因此,信息传递理论的目的是研究信息的传播过程,包括信息的变化以及它们之间的因果关系。
信息传递理论具有三个基本要素:信息来源、信息传输和信息接收者。
首先,信息来源是将信息发送出去的人或组织。
这些发送者可以是个人,组织或机构,或者其他实体,例如社会,行业,政府等。
其次,信息传输指的是信息由发送者到达接收者的传输途径,可以是电子邮件,电话,传真,短消息,社交网络等。
最后,信息接收者指的是收到信息的人或组织。
此外,信息传递理论还涉及一些概念,如环境,它可以有助于我们理解信息传播过程中可能出现的局限性,因为信息传达过程中可能产生的社会或经济影响。
另一个概念是复杂性机制,它是指系统在结构设计、系统行为以及系统功能等方面的复杂性。
与此同时,信息传递理论还可以被用来研究信息传播的动态模式,特别是复杂的现存系统的动态行为。
考虑到这一点,人们可以通过分析系统中不同的交互元素,如因果关系、函数以及策略等,来研究给定系统在这些组件之间交互时所产生的影响。
总之,信息传递理论是一个广泛而复杂的研究领域,它揭示了信息传播过程中可能出现的问题,并且它在技术、社会、教育、经济和政策制定等领域被广泛应用。
其最大的目的是帮助人们了解信息如何在不同环境中相互传递,以及它们之间的可能影响和因果关系。
消息的产生与传递
首先定义一个名词:向上匹配。
对于除WM_COMMAND以外的消息,在消息网中都只能是从派生类流向基类。
派生类及基类都有自己的消息映射表AFX_MSGMAP_ENTRY。
消息映射表中存储了类所有重写的消息处理。
当前给定了一个消息,为了执行该消息所对应的处理函数,需要在当前类中搜索消息映射表AFX_MSGMAP_ENTRY,若消息的ID存在该表中,那么说明当前类重写了该消息的处理方式,那么就调用相应的处理函数;若消息的ID不存在该表中,说明当前类没有重写该消息,于是就向上追溯,找到其基类,重复上述ID的比较,直到找到或者到达CCmdTarget为止。
这个过程从当前类中匹配,找不到就向上从基类匹配,依然找不到则继续向上……称之为向上匹配。
注意这个过程只针对除WM_COMMAND以外的消息,即WM_xxx。
所以WM_xxx消息只会从派生类流向基类,不会横流或逆流。
总之,WM_xxx消息只会纵向流动。
但WM_COMMAND消息则不一定。
若一个CFrameWnd接收到消息,则消息会如下顺序传递:
CFrameWnd->CV iew-> CDocumet->CDocumetTemplate
->CFrameWnd
->CWinApp
该顺序是固定的。
如果一个CView或者一个CDcoumet接收到消息,消息同样是按照上面的顺序传递,只是起点从各自的类开始而已。
也就是说,WM_COMMAND消息的传递顺序是:先View,后Dcoument,再CWnd(实际上是CCmdT arget),最后CWinApp。
现在,CWinThread::Run产生了一个消息。
该消息首先会被发送给AfxWndProc
①AfxWndProc是个全局函数,也是所有消息的推动引擎起点。
AfxWndProc会在
CWinThread::Run中被调用,也就是说,CWinThread::Run产生消息,并将消息发
送给AfxWndProc。
该函数的作用是将消息传递给AfxCallWndProc函数。
②AfxCallWndProc是个全局函数,该函数的作用是将传来的消息发送给当前类的
WindowProc函数处理。
由于WindowProc是个虚函数,所以每个类调用的
WindowProc是不一定相同的。
③WindowProc接收到消息后,会判断该消息是否为WM_COMMAND消息。
若不是,
那么只要从当前类开始,向上匹配找到消息处理函数即可;若是WM_COMMAND
消息,那么就从CCmdTarget的所有派生类中来找对应的实现函数OnCommand,寻
找过程见④。
若最终找到了,就执行相应的处理函数;若最终没有找到,就执行默
认的DefWindowProc。
④从当前类开始,判断OnCommand函数的重写情况。
一般在重写函数的末尾,都会
调用其基类的OnCommand函数。
于是这样不停上溯,当上溯到该类的主要基类时,比如CFrameWnd,会在该基类的OnCommand函数中调用虚函数OnCmdMsg。
⑤OnCmdMsg函数是个虚函数,于是根据当前的类对象,会调用不同的OnCmdMsg
函数。
在这个OnCmdMsg函数里,会获取其他主要基类(见过程⑥)并对这些基类的
OnCmdMsg函数加以匹配调用。
每个基类最终都会回溯到CCmdTarget中的OnCmdMsg函数,在这里面会调用GetMessageMap来获取所有命令,并对命令的ID进行向上匹配。
但GetMessageMap是个虚函数,所以获取的命令也是当前类的消息映射表。
若第一个基类匹配失败,就继续匹配第二个基类。
直到匹配到合适的命令ID,或者匹配失败,回到步骤③中调用默认的DefWindowProc。
⑥获取其他主要基类的顺序是:
CFrameWnd->CV iew-> CDocumet->CDocumetTemplate
->CFrameWnd
->CWinApp
消息发送给CFrameWnd,OnCmdMsg()函数开始处理消息:
CFrameWnd::OnCmdMsg()
{
//1
if(pView->OnCmdMsg())
{
return TRUE;
}
//2
if(CWnd::OnCmdMsg())
{
return TRUE;
}
//3
if(pApp->OnCmdMsg())
{
return TRUE;
}
}
由上可知CFrameWnd::OnCmdMsg()函数内有三个分支,分别用1,2,3表示。
首先消息进入分支1,注意此时主体是pView:
CView::OnCmdMsg()
{
//①
if(CWnd::OnCmdMsg())
{
return TRUE;
}
//②
m_pDocumet->OnCmdMsg();
}
进入分支1,又产生了两个新的分支,分别用①,②表示。
然后消息进入分支①。
由于是CWnd::OnCmdMsg(),但CWnd并没有改写基类CCmdTarget的函数OnCmdMsg(),所以实际上分支①进入的是CCmdTarget::OnCmdMsg():
CCmdTarget::OnCmdMsg()
{
向上匹配
}
在CCmdTarget::OnCmdMsg()中,开始对消息进行向上匹配。
注意此时主体是pView。
若匹配成功,则调用相应处理函数,并返回TRUE。
从而消息传递终止。
若匹配不成功,则消息继续传递,进入分支②。
CDocumet::OnCmdMsg()
{
//③
if(CCmdTarget::OnCmdMsg())
{
return TRUE;
}
//④
m_pDocTemplate->OnCmdMsg();
}
此时,主体变成了m_pDocumet。
在分支②中,同样出现了两个分支③,④。
先进入分支③。
同样是进入到CCmdTarget::OnCmdMsg()中开始向上匹配,注意此时的主体是m_pDocumet。
若依然没有匹配成功,则进入分支④,主体变成m_pDocT emplate,并进一步进入到CCmdTarget::OnCmdMsg()中开始向上匹配。
若依然没有匹配成功,则一路返回,返回到最初的分支1,第一个if语句判断失败。
进入到第二个if语句,即分支2。
此时主体变成了CFrameWnd。
然后进入CWnd::OnCmdMsg()。
//2
if(CWnd::OnCmdMsg())
{
return TRUE;
}
但CWnd并没有改写基类CCmdTarget的函数OnCmdMsg(),所以实际上进入CCmdTarget::OnCmdMsg(),开始向上匹配。
若依然没有匹配成功,则一路返回,返回到最初的分支2,第二个if语句判断失败。
进入到第三个if语句,即分支3。
此时主体变成了pApp。
然后进入pApp->OnCmdMsg()。
//3
if(pApp->OnCmdMsg())
{
return TRUE;
}
但CWinApp并没有改写基类CCmdTarget的函数OnCmdMsg()(注意中间跳过了CWinThread),所以实际上进入CCmdTarget::OnCmdMsg(),开始向上匹配。
若匹配成功,则调用相应的处理函数;
若匹配失败,则说明没有该命令消息的处理函数。
返回FALSE。