Java编程那些事儿107——网络协议概念[Java编程]
本文“Java编程那些事儿107——网络协议概念[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
13.2.5 网络协议
关于需求从事网络编程的程序员来说,网络协议是一个需求深化理解的概念.那么什么是网络协议呢?
网络协议是指关于网络中传输的数据格局的规定.关于网络编程初学者来说,没有必要深化理解TCP/IP协议簇,所以关于初学者来说去读大部头的《TCP/IP协议》也不是一件很符合的事情,因为深化理解TCP/IP协议是网络编程提高阶段,也是深化网络编程底层时才需求做的事情.
关于普通的网络编程来说,更多的是关心网络上传输的逻辑数据内容,也就是更多的是利用层上的网络协议,所今后续的内容均以实际利用的数据为底子来介绍网络协议的概念.
那么什么是网络协议呢,下面看一个简单的例子.春节晚会上“小沈阳”和赵本山合作的小品《不差钱》中,小沈阳和赵本山之间就计划了一个协议,协议的内容为:
假如点的菜价钱对比贵是,就说没有.
按照该协议的规定,就有了下面的对话:
赵本山:4斤的龙虾
小沈阳:(经过判断,得出价钱对比高),没有
赵本山:鲍鱼
小沈阳:(经过判断,得出价钱对比高),没有
这就是一种双方达成的一种协议约定,其实这种约定的实质和网络协议的实质是一样的.网络协议的实质也是客户端程序和服务器端程序关于数据的一种约定,只是由于以计算机为底子,所以更多的是利用数字来代表内容,这样就显得对比抽象一些.
下面再举一个简单的例子,介绍一些底子的网络协议计划的知识.比方需求计划一个简单的网络程序:网络计算器.也就是在客户端输入需求计算的数字和运算符,在服务器端实现计算,并将计算的后果反馈给客户端.在这个例子中,就需求约定两个数据格局:客户端发送给服务器端的数据格局,以及服务器端反馈给客户端的数据格局.
大概你认为这个对比简单,比方客户端输入的数字顺次是12和432,输入的运算符是加号,大概最简单想到的数据格局是形成字符串“12+432”,这样格局的确对比简单阅读,但是服务器端在举行计算时,逻辑就对比麻烦,因为需求首先拆分该字符串,然后才能举行计算,所以可用的数据格局就有了一下几种:
“12,432,+” 格局为:第一个数字,第二个数字,运算符
“12,+,432” 格局为:第一个数字,运算符,第二个数字
其实以上两种数据格局很接近,对比简单阅读,在服务器端收到该数据格局今后,利用“,”为脱离符分割字符串便可.
假定关于运算符再举行一次约定,比方约定数字0代表+,1代表减,2代表乘,3代表除,整体魄局遵守以上第一种格局,则上面的数字生产的协议数据为:
“12,432,0”
这就是一种基本的发送的协议约定了.
别的一个需求计划的协议格局就是服务器端反馈的数据格局,其实服务器端主要反馈计算后果,但是在实际承受数据时,有大概存在格局错误的情形,这样就需求简单的计划一下服务器端反馈的数据格局了.比方规定,假如发送的数据格局精确,则反馈后果,不然反馈字符串“错误”.这样就有了以下的数据格局:
客户端:“1,111,1” 服务器端:”-110”
客户端:“123,23,0” 服务器端:“146”
客户端:“1,2,5” 服务器端:“错误”
这样就计划出了一种最最基本的网络协议格局,从该示例中可以看出,网络协议就是一种格局上的约定,可以按照逻辑的需求约定出各种数据格局,在举行计划时普通遵守“简单、通用、简单解析”的原则举行.
以上是“Java编程那些事儿107——网络协议概念[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |