ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 什么是unix的socket

什么是unix的socket

原创 Linux操作系统 作者:牛平 时间:2018-02-08 14:40:19 0 删除 编辑
起因:大平在进行unix运维的时候,总是发现后缀是sock的文件,因此想,这是啥文件呢?有什么作用?为什么会有这个文件?

Socket文件用于同一OS或不同OS中进程相互传输数据的一个标识,可以把它想象成一个插座,然后用网线连接两个socket。

为什么是个文件?
简单来说,就是使用文件最方便
文件系统在Unix中与System Call(系统调用)是同步的,由此可见,文件系统可以提供一种使用System call的方便途径。

进程是如何使用socket的?

进程使用socket descriptor来使用socket,这个socket descriptor是一个抽象概念,通常使用一个整数来表示。一个进程通常对协议栈(protocol stack)申请创建一个socket,然后,stack返回一个socket descriptor给这个进程。当进程想要发送或接收数据时,就把这个socket descriptor发送给协议栈。

两个node之间进行通信时,进程不会直接连接到另外一个node的socket descriptor,而是连接到本node的socket descriptor【一个整数】,然后由本node的socket发送数据到protocol stack,另外node的protocol stack接收后,传给另外node的process。













来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29757574/viewspace-2150951/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: mysqld_safe和mysqld
请登录后发表评论 登录
全部评论
一个在金融小企业瞎折腾的运维,梦想给小企业带来尽可能的标准化与自动化。

注册时间:2014-07-18

  • 博文量
    50
  • 访问量
    154501