通信协议学习总结
在网络通信学习过程中,通信协议由消息格式和通信流程构成。
1.消息格式
XML语言,即可扩展文本标记语言。我们所熟悉的HTML语言(超文本标记语言)也是XML语言的一种。在通信过程中为什么要学习使用XML格式的消息格式?之前我们在网络上传送消息时,都是以"\r\n"作为一条消息的结束符标志。而我们知道一条消息中常常包含有多种不同类型的信息,例如登陆QQ时,客户端发送给服务器的消息就至少包含登录用户QQ号、密码、登录状态等不同种类的信息。之前的使用的消息格式都是以换行符作为结束标志,根本不可能在一条消息中包含多种类型的信息。而XML格式的很好地解决了这个缺陷。
XML格式消息中,每一个标签对中的内容代表一种类型的消息内容,标签对中还可以再嵌套标签对,这样更加丰富了一条完整消息所能容纳的信息类型。
例如:在HTML语言中,以<HTML></HTML>作为根标签,网页显示的所以内容都包含在<HTML></HTML>根标签中。
<title></title>表示网页标题,<body></body>中的内容即为显示的正文部分。网页正是使用了这种格式,使得网页能呈现各种我们想要的效果。
我们把这个格式应用于简单网络聊天程序中,可以增加消息的容量和程序的功能。
在采用这个格式后,我们可以自己定义各种标签,以及标签所代表的含义。如可以规定<msg></msg>表示一条
完整的消息,其中可以包含各种类型的信息,如用户名,密码等等。
2.通信流程
除了消息格式很重要外,还有通信流程很重要。通信流程中有同步和异步两种类型。
同步消息:指的是通信一方给另一方发送消息后,一定要等到另一方回复应答消息,才会进行下一步操作,否则就一直卡在这里。
比如:登陆QQ时,如果服务器没有给出登陆成功或者失败的应答消息,客户端将会一直请求登陆,直到请求超时。
异步消息:通信一方发给另一方的消息,不用等待对方的回复应答。
例如,我们可以随意给好友发送消息,而不用管对方是否回复消息。
只要我们规定好了通信协议,即消息格式和通信流程,用代码实现就是比较简单的事了。然而,通信协议的制定往往更难,因为在平常生活中,我们都是在遵守别人制定的规则,现在要我们自己去制定一套规则,就会感觉到无从下手。我们要自己尝试着去制定一套自己的通信协议,多多观察我们经常使用的聊天系统,有助于我们制定一个比较系统完整的通信协议。
分享到:
相关推荐
在Android系统应用开发中,网络通信是至关重要的一个环节,特别是在构建交互性强的应用时。本实验旨在让学生深入了解Android网络通信技术,并通过实际操作掌握不同类型的网络通信方式,包括利用WebView实现浏览器...
网络通信年终总结.docx
总结来说,这个“网络通信开发包”以C++语言为核心,结合了控件、源码和丰富的资源,为开发者构建网络应用提供了强大支持。它不仅简化了网络通信的实现过程,还通过清晰的文档和源码,帮助开发者提升技能,实现更...
Linux与Windows系统间的网络通信 Linux与Windows系统间的网络通信是计算机网络领域中的一个重要话题。本文将介绍Linux与Windows系统间的网络通信的实现方法,包括 Socket 编程的工作原理和 Linux 与 Windows 不同...
基于 ARM9 的嵌入式 Linux 网络通信系统设计与实现 本文主要介绍了基于 ARM9 的嵌入式 Linux 网络通信系统的设计与实现。该系统使用 $3C2410 微处理器和 Linux 操作系统,实现了服务器和客户端的网络通信。本文首先...
嵌入式Linux网络通信程序开发 本篇论文主要讨论了基于Linux操作系统的嵌入式网络通信程序开发,特别是基于AX88796网卡驱动程序的开发。文章首先介绍了当前网络的重要性和嵌入式系统的发展趋势,然后详细分析了Linux...
总结来说,西门子工业网络通信指南上册是一份专门为工业控制网络技术提供指导的资料,其中涵盖了西门子工业网络通信的基础知识、技术要点以及应用实例等。通过学习和实践指南中的内容,技术人员可以提升对西门子工业...
网络通信年终总结(完整版).doc
总结来说,实现P2P网络通信需要对网络编程、并发处理以及文件操作有深入的理解。通过Java的Socket编程,我们可以构建起基本的节点通信框架,再结合P2P网络的特点进行优化,从而实现高效、可靠的P2P网络通信系统。...
### VB环境下用Winsock实现网络通信 #### 概述 随着计算机技术和互联网的快速发展,网络编程已经成为现代软件开发中不可或缺的一部分。然而,由于涉及到复杂的网络专业知识和技术细节,很多编程爱好者和初学者往往...
总结,网络通信VC源代码是学习网络编程的良好起点,特别是对于想在Windows环境下使用C++进行网络开发的初学者。通过对源代码的分析和实践,不仅可以掌握TCP通信的基本原理,还能熟悉Winsock API的使用,为后续的网络...
总结起来,.NET网络通信涵盖了多种协议和模式,开发者可以根据需求选择合适的通信方式。无论是在桌面应用、Web应用还是移动应用中,理解和掌握这些技术对于构建高效、可靠的网络应用至关重要。通过学习和实践C#中的...
Linux 网络通信 socket 应用编程知识点总结含例程 Linux 网络通信 socket 应用编程是指在 Linux 操作系统中使用 socket 编程来实现网络通信的技术。socket 是一种网络编程接口,提供了一个创建网络套接字的方法,...
PROFINET通信技术总结
总结,基于socket的并发网络通信涉及到网络编程的基本原理、TCP连接的建立与维护、多线程/多进程并发处理以及可能的优化策略。理解并熟练掌握这些知识点,对于开发高效、可靠的网络应用程序至关重要。
串口通信项目总结 本篇资源的主要内容是对多串口接收项目的总结,涵盖技术总结和心得总结两方面。下面将对标题、描述、标签和部分内容进行详细的解释和总结。 一、技术总结 技术总结是对整个项目的技术实现过程的...
【网络通信实验报告——探索网络通信的奥秘】 在惠州学院的网络通信课程中,学生们通过一系列实验深入理解和掌握网络通信的基本原理和技术。本实验报告将详细阐述实验1及实验四至七的主要内容,旨在展示学生刘永富...
201*年的计算机网络通信工作总结反映了该年度在IT管理岗位上的工作重点和挑战。在这一年中,工作者主要负责计算机硬件的管理、网络维护、电话系统的维护,以及协助各类会议和活动的顺利进行。以下是详细的知识点总结...
总结来说,TCP网络通信结合多线程技术可以实现高效、稳定且具有高并发能力的服务器和客户端应用。在Linux环境下,借助socket API和高级库,开发者可以构建出强大的网络服务。同时,理解并掌握线程同步与锁机制、事件...
在IT领域,网络通信是计算机科学的一个重要分支,它涉及数据在互联网上的传输与交互。在本项目中,我们关注的是使用C#编程语言实现基于TCP/IP协议的网络通信小程序。TCP/IP(Transmission Control Protocol/Internet...