【问题标题】:Scoket in newtwork and programming网络中的套接字和编程
【发布时间】:2021-04-02 01:17:37
【问题描述】:

第一个问题:网络模型中应用层和传输层之间的套接字API是否与编程中使用的相同?

第二个问题:如果socket API是应用层和transprot层之间的接口,那是否意味着任何应用层都必须使用它来与传输层通信? (http、SMTP、FTP...)

【问题讨论】:

    标签: java networking network-programming


    【解决方案1】:

    在我看来,这两个问题实际上是一个问题:OSI 或 TCP/IP 模块是如何工作的。

    在编写应用程序时,我们使用 TCP/UDP 用户空间 API,我们不需要关心内核如何运行它。您可以说我们在应用层(app)中使用它,但这些 API 是在传输层中工作的。例如,我们在用户空间使用socket/bind/connect/accept/listen,操作系统会在内核中使用系统调用来运行它,依次是传输层->网络层->数据链路层->网卡。出/入。

    所以,应用层和传输层之间没有所谓的相同编程(除非您是内核开发人员),是的,HTTP/FTP 必须使用这些 API 连接到其他网络客户端/服务器。但是您的声明可能需要修改,因为它们可能会让您感到困惑。

    【讨论】:

    • 我有点困惑为什么没有回复。如果您对答案有任何问题,请告诉我,以便我们改进。如果对您有帮助,请给我一个有用的赞或接受吗?这对我很重要。
    猜你喜欢
    • 1970-01-01
    • 2010-10-05
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    相关资源
    最近更新 更多