系统间通信:网络I/O模型

信息格式

XML:可扩展标记语言,这个语言格式由W3C(万维网联盟)进行发布和维护。XML语言格式应用广泛、扩展丰富,适合做网络通信的信息描述格式(一般是“应用层”协议 )。例如Google定义的XMPP通信协议就是使用XML进行描述的;不过XML更广泛的应用场景是对系统环境进行描述的(因为它会造成较多的不必要的内容传输),例如服务器的配置描述、spring的配置描述、Maven仓库描述,等等。
JSON:JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它和XML的设计思路是一致的——数据和语言无关性(流行的语言都支持JSON格式描述:Go、Python、C、C++、C#、Java、Erlang、JavaScript等);但是和XML不同,JSON的设计目标就是为了进行通信。要描述同样的数据,JSON格式的容量会更小。
Ptotocol Buffer(PB):Protocol是Google的一种数据交换格式,它同样独立于语言、独立于平台。Google提供了三种语言的实现:Java、C++和Python,每一种实现都包含了相应语言的编译器和库文件。
TLV(三元组编码):T(标记/类型域)L(长度/大小域)V(值/内容域),通常这种信息格式用于金融、军事领域。他通过字节的位运算来进行信息的序列化/反序列化。

猜你喜欢

转载自blog.csdn.net/qq_22238629/article/details/77968351