【发布时间】:2024-01-17 03:37:01
【问题描述】:
如果我理解正确,我们使用java.io/java.nio.* 来实现一个应用程序,它应该是ISO 5 层模型的应用程序层实现(可能不准确)。我认为JDK应该实现较低层(传输层,网络层甚至L2,L1),如果是,则基于哪些协议。如果没有,请介绍一下?
【问题讨论】:
标签: java communication network-protocols tcp-ip
如果我理解正确,我们使用java.io/java.nio.* 来实现一个应用程序,它应该是ISO 5 层模型的应用程序层实现(可能不准确)。我认为JDK应该实现较低层(传输层,网络层甚至L2,L1),如果是,则基于哪些协议。如果没有,请介绍一下?
【问题讨论】:
标签: java communication network-protocols tcp-ip
可能你对它有非常基本的了解,所以混淆了很多东西。
java.nio 等在提供应用层(OSI 第 7 层)或套接字(套接字比应用层稍低,因为您可以在它们之上制作 http、ftp 等)时,它们确实实现了所有较低层也。如果没有较低的层,您实际上无法发送单个数据包,因此无法进行通信。
程序员是否可以访问这些层以及您可以自定义到哪个级别是另一回事。
通常的标准是 sockets api,它提供了很多选择来指定较低层(tcp、udp 或 raw)。
此外,大多数高级语言都提供应用层实现,例如 HTTP、SMTP 等。
【讨论】: