网络通信总结(3)

通信协议学习总结

在网络通信学习过程中,通信协议由消息格式和通信流程构成。

1.消息格式

 

XML语言,即可扩展文本标记语言。我们所熟悉的HTML语言(超文本标记语言)也是XML语言的一种。在通信过程中为什么要学习使用XML格式的消息格式?之前我们在网络上传送消息时,都是以"\r\n"作为一条消息的结束符标志。而我们知道一条消息中常常包含有多种不同类型的信息,例如登陆QQ时,客户端发送给服务器的消息就至少包含登录用户QQ号、密码、登录状态等不同种类的信息。之前的使用的消息格式都是以换行符作为结束标志,根本不可能在一条消息中包含多种类型的信息。而XML格式的很好地解决了这个缺陷。

XML格式消息中,每一个标签对中的内容代表一种类型的消息内容,标签对中还可以再嵌套标签对,这样更加丰富了一条完整消息所能容纳的信息类型。

例如:在HTML语言中,以<HTML></HTML>作为根标签,网页显示的所以内容都包含在<HTML></HTML>根标签中。

<title></title>表示网页标题,<body></body>中的内容即为显示的正文部分。网页正是使用了这种格式,使得网页能呈现各种我们想要的效果。


我们把这个格式应用于简单网络聊天程序中,可以增加消息的容量和程序的功能。


在采用这个格式后,我们可以自己定义各种标签,以及标签所代表的含义。如可以规定<msg></msg>表示一条


完整的消息,其中可以包含各种类型的信息,如用户名,密码等等。

2.通信流程

除了消息格式很重要外,还有通信流程很重要。通信流程中有同步和异步两种类型。

同步消息:指的是通信一方给另一方发送消息后,一定要等到另一方回复应答消息,才会进行下一步操作,否则就一直卡在这里。

比如:登陆QQ时,如果服务器没有给出登陆成功或者失败的应答消息,客户端将会一直请求登陆,直到请求超时。


异步消息:通信一方发给另一方的消息,不用等待对方的回复应答。

例如,我们可以随意给好友发送消息,而不用管对方是否回复消息。

 

只要我们规定好了通信协议,即消息格式和通信流程,用代码实现就是比较简单的事了。然而,通信协议的制定往往更难,因为在平常生活中,我们都是在遵守别人制定的规则,现在要我们自己去制定一套规则,就会感觉到无从下手。我们要自己尝试着去制定一套自己的通信协议,多多观察我们经常使用的聊天系统,有助于我们制定一个比较系统完整的通信协议。

你可能感兴趣的:(网络通信)