socket编程到底是什么?

socket 其实就是操作系统提供给程序员操作「网络协议栈」的接口,说人话就是,你能通过socket 的接口,来控制协议找工作,从而实现网络通信,达到跨主机通信。协议栈的上半部分有两块,分别是负责收发数据的 TCP 和 UDP 协议,它们两会接受应用层的委托执行收发数据的操作。协议栈的下面一半是用 IP 协议...
socket编程到底是什么?
socket 其实就是操作系统提供给程序员操作「网络协议栈」的接口,说人话就是,你能通过socket 的接口,来控制协议找工作,从而实现网络通信,达到跨主机通信。
协议栈的上半部分有两块,分别是负责收发数据的 TCP 和 UDP 协议,它们两会接受应用层的委托执行收发数据的操作。

协议栈的下面一半是用 IP 协议控制网络包收发操作,在互联网上传数据时,数据会被切分成一块块的网络包,而将网络包发送给对方的操作就是由 IP 负责的。这里需要注意的是,服务端调用 accept 时,连接成功了会返回一个已完成连接的 socket,后续用来传输数据。
所以,监听的 socket 和真正用来传送数据的 socket,是「两个」 socket,一个叫作监听 socket,一个叫作已完成连接 socket。成功连接建立之后,双方开始通过 read 和 write 函数来读写数据,就像往一个文件流里面写东西一样。
2021-12-06
mengvlog 阅读 7 次 更新于 2025-07-19 12:39:09 我来答关注问题0
  •  文暄生活科普 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么

    所以说:socket其实就是个代码库 or 接口层,它介于内核和应用程序之间,提供了一些高度封装过的接口,让我们去使用内核网络传输功能。这听起来像不像我们最熟悉的前后端分离的服务架构,虽然这么说不太严谨,但看上去linux就像是被分成了应用程序和内核两个服务。内核就像是后端,暴露了好多个api接口,其中一类就是socket的...

  •  翡希信息咨询 不为人知的网络编程(十五):深入操作系统,一文搞懂Socket到底是什么

    Socket是一个在操作系统内核与用户空间应用程序之间提供网络传输功能的接口层。以下是关于Socket的详细解释:基本概念:Socket类似于插头和插座的关系,通过Socket,我们可以与远程计算机建立连接,实现数据的发送和接收。使用场景:在网络编程中,当我们需要将数据从一台计算机的某个进程发送到另一台计算机的某...

  •  文暄生活科普 socket编程到底是什么?

    在计算机网络领域,socket编程是连接协议层与应用层的桥梁。许多学生在学习网络协议时,能够掌握基础概念,如ARP、IP、TCP、三次握手、四次挥手和流量控制等。然而,当转向实际的网络编程实践时,他们突然面临socket编程的挑战,感觉概念跳跃较大,难以融会贯通。在深入探讨socket编程时,我们发现许多关键点常...

  •  文暄生活科普 什么是socket编程

    Socket编程是传输层提供给应用层的编程接口,是应用层与传输层之间的桥梁,用于开发客户机和服务器应用程序,实现网络通信。以下是关于Socket编程的详细解释:一、Socket编程的基本概念 套接字(Socket):Socket通常也被叫做“套接字”,用于描述IP地址和端口,是通信链的句柄。它如同传输层为应用层开的一...

  • Socket编程是一种网络编程技术,它允许两个程序通过网络进行通信。以下是对Socket编程的详细解释:基本概念:Socket:通常被翻译为“套接字”,它是网络通信的基石,特别是在TCP/IP网络中。Socket是一个抽象层,它使得应用程序能够通过网络进行数据交换。它是支持TCP/IP等网络通信协议的关键组件。传输层协议...

檬味博客在线解答立即免费咨询

编程相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部