消息数据类型

【消息数据类型】建议:
我们建议每一个普通消息的前8位保留 , 用来表示消息的类型 。这个协定的采用并不是表示同意实际类型的使用 。它只是建议一个约定 , 使每一个正常消息的前8位对于用户数据来说不能使用 。
讨论:
SocketPort
____________
VV/
V/
=/==
-------( )->Y--><
===
PROCESS
=/==
-------(-)->X<--<
===
/
____________/
及早建立有关消息内容的约定是非常重要的 , 这样才不至于网络上运行的每两个程序之间都会有一种信息的约定 。
随着网络的发展 , 指定消息语法语义的语言网络语言获得发展 。然而 , 即使在这些约定之前 , 已经存在了一种使用消息类型描述消息的简单方式 , 发送方和接收方都能够解释它们 。
重要的是 , 目前运行的程序仍然需要使用这种约定继续运行 。然而我们建议两端的系统程序能够重写 , 程序开始先检查消息类型并删去消息类型 。我们把这两个程序称为X和Y 。一般来说 , X和Y会进行数据的转换 , 例如转换字母集和数字格式 。随着网络的增长 , X和Y可能变成表格驱动的 , 表格由用户指定 。
标准类型和本地类型:
我们建议把标准和本地这两种类型区分开来 。
我们无法期望这两个转换程序能够每一种可能的数据表示之间和它们的数据表示形式之间进行转换 , 而且 , 数据形式的改变不应该涉及到程序X和Y , 因此我们建议在整个网络中只有固定的消息类型有意义 。它们就是标准类型 。
共有两种本地类型:MYLOCAL和YOURLOCAL 。一个MYLOCALn的消息表示:这是发送主机类型集中的类型n 。一个YOURLOCALn表示:这是接收主机类型集中的类型n 。
约定:
便准类型和本地类型的一种可能方案就是把标准类型0定义为YOURLOCAL , 把标准类型1定义为MYLOCAL 。这样 , 第二个字节表示本地类型号 。
本地类型0表示用户指定 , 也就是说 , 信息内容没有改变也没有检查 。安装会定义自己的本地类型号 , 它们可以从网络信息中心获得 。
因而 , 最初所有发送到目前程序的消息都应该是类型0或者n , 所有从现在程序中接收到的消息都应该是类型1或者n , n是本地安装的字母集类型号 。
可能的标准类型举例:
0.YOURLOCAL
1.MYLOCAL
2.U.S.Ascii
3.EBCDIC
4.Mod33TTYAscii
5.假如将来程序X和Y转换是表格驱动的 , 载入表格驱动转换器的表#n , 这就指定了表格 。表格号n存储在消息的第二个字节 。
6.使用表格驱动转换器表格n
7.网络标准图形消息
本地类型举例:
1:本地字母集 , 例如:Lincolnwriter , DECAscii等等
2:本地图形消息 , 例如:Tx-2定点显示执行调用 , GSAM

    推荐阅读