2

如果我理解正确,我们java.io/java.nio.*用来实现一个应用程序,它应该是 ISO 5 层模型的应用程序层实现(可能不准确)。我觉得JDK应该实现低层(传输层、网络层甚至L2、L1),如果是,基于哪些协议。如果没有,请介绍一下?

4

1 回答 1

1

可能你对它有非常基本的理解,所以很多事情都混淆了。

java.nio 等在提供应用层(OSI 第 7 层)或套接字(套接字比应用层稍低,因为您可以在它们之上制作 http、ftp 等)时,它们确实也实现了所有较低层。如果没有较低的层,您实际上无法发送单个数据包,因此无法进行通信。

程序员是否可以访问这些层以及您可以自定义到哪个级别是另一回事。

通常的标准是 sockets api,它提供了很多选择来指定较低层(tcp、udp 或 raw)。

此外,大多数高级语言都提供应用层实现,例如 HTTP、SMTP 等。

于 2012-11-07T11:50:23.363 回答