0

我慢慢地了解 asn1 符号。从结构编码 asn1 似乎很容易。但是将 asn1 解码到我的应用程序更难。我想知道我是否有一个应用程序在 udp 端口​​ 600 上接收数据,这可能是多个 asn1 结构,我如何判断我应该解码到哪个 asn1 结构?

那么,当我收到 asn1 数据包时,我们是否首先确定它的类型并根据其类型对其进行解码?

还是我的 asn1 编译器会为我处理这个?

找到这些东西的例子很困难......即使是谷歌;-)。

一个概述使用 asn1 构建简单网络服务器的教程会很棒!

4

1 回答 1

1

ASN.1 大致对应OSI 七层蛋糕表示层。它依赖于应用层来确定端点之间交换的信息类型。因此,没有通用标头或标识符可以指示ASN.1 流正在呈现哪种协议或语法。这可以由端口号暗示,或者由附加协议层(例如,HTTP)明确。


编辑(回复您的评论):ASN.1 标准定义了四个“类”标签:通用、应用、私有和上下文特定。APPLICATION 基本上意味着标签被定义为在特定应用程序中使用(即,它没有预定义为 ASN.1 的一部分。)但是 APPLICATION 标签没有携带足够的信息来指定(甚至暗示)哪个应用程序正在使用中。

(实际上,“APPLICATION”、“PRIVATE”和“CONTEXT-SPECIFIC”之间的语义差异很小;这三个类主要用于历史和文体原因。)

于 2010-12-14T02:14:22.327 回答