文章目录

  • 概述
  • 流程介绍

概述

Linux下进程通讯方式有很多,比较典型的有套接字,平时比较常用的套接字是基于TCP/IP协议的,适用于两台不同主机上两个进程间通信, 通信之前需要指定IP地址. 但是如果同一台主机上两个进程间通信用套接字,还需要指定ip地址,有点过于繁琐. 这个时候就需要用到UNIX Domain Socket, 简称UDS,

UDS的优势:

  • UDS传输不需要经过网络协议栈,不需要打包拆包等操作,只是数据的拷贝过程
  • UDS分为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据包套接字),由于是在本机通过内核通信,不会丢包也不会出现发送包的次序和接收包的次序不一致的问题

流程介绍

如果熟悉Socket的话,UDS也是同样的方式, 区别如下:

  • UDS不需要IP和Port, 而是通过一个文件名来表示
  • domain 为 AF_UNIX
  • UDS中使用sockaddr_un表示
struct sockaddr_un {sa_family_t sun_family; /* AF_UNIX */char sun_path[UNIX_PATH_MAX];   /* pathname */
};

服务端: socket -> bind -> listen -> accet -> recv/send -> close
客户端: socket -> connect -> recv/send -> close

参考文章:Linux下进程间通讯方式 - UNIX Domain Socket

UNIX Domain Socket(UDS)是什么?同一台主机间进程间通信相关推荐

  1. 【进程间通信】Unix domain socket (进程间通信)

    socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket. 虽然网络socket也可用于同一台主机的进程间通讯(通过loo ...

  2. unix domain socket 浅析

    unix domain socket unix domain socket 是在socket架构上发展起来的用于同一台主机的进程间通讯(IPC: Inter-Process Communication ...

  3. 【socket】 unix域套接字(socketpair )通信|socketpair和pipe的区别|进程间通信-Unix domain socket

    目录 unix域套接字(socketpair )通信|socketpair和pipe的区别 socketpair机制 描述 原理 socketpair和pipe的区别 进程间通信-Unix domai ...

  4. 网络协议之:socket协议详解之Unix domain Socket

    文章目录 简介 什么是Unix domain Socket 使用socat来创建Unix Domain Sockets 使用ss命令来查看Unix domain Socket 使用nc连接到Unix ...

  5. unix网络编程之UNIX Domain Socket IPC (sockaddr_un )

    socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络socket也可用于同一台主机的进程间通讯(通过loop ...

  6. Unix domain socket 简介(进程间通信,进程通信)

    Unix domain socket 又叫 IPC(inter-process communication 进程间通信) socket,用于实现同一主机上的进程间通信.socket 原本是为网络通讯设 ...

  7. Unix domain socket IPC

    UNIX Domain socket 虽然网络socket也可用于同一台主机的进程间通讯(通过lo地址127.0.0.1),但是unix domain socket用于IPC更有效率:不需要经过网络协 ...

  8. 网络协议之socket协议详解之Unix domain Socket

    简介 之前的文章我们讲到了Socket中的Stream Socket和Datagram Socket,和有连接的Stream Socket不同,Datagram Socket是无连接的.有连接的Str ...

  9. IPC编程C语言,4. UNIX Domain Socket IPC

    4. UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket.虽然网络so ...

最新文章

  1. CNN+Transformer=SOTA!CNN丢掉的全局信息,Transformer来补
  2. react获取URL中参数
  3. 命题公式的主合取范式C语言,命题公式主范式的自动生成与形式输出.pdf
  4. JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结
  5. 设置 webbrowser 控件的表现形式,可以像你本机的IE浏览器一样
  6. 计算机组成原理中计算机主要包括哪几部分,计算机组成原理本科生期末试卷(五)部分答案详解...
  7. 用Ultra ISO制作启动U盘装系统
  8. java shell文件_JAVA执行bat文件和shell脚本文件
  9. CAN Ape 标定与诊断
  10. C语言课程设计---职工工资管理系统
  11. nginx反向代理 负载均衡
  12. 基于GoLang的MMO游戏服务器(二)
  13. 前端视觉测试工具:Applitools Eyes
  14. apple账号被锁定且密码无法重设
  15. 阴阳师手游如何用云手机无限多开换IP防封
  16. 计算机视觉 - 图像编码
  17. 忆暖行动|“ 还可以留一点做成柿饼,做法也很简单,就是挑硬柿子把皮削掉,用开水烫个几秒”
  18. linux qemu-nbd介绍
  19. 计算机初级操作员试题汇编,计算机初级操作员试卷.doc
  20. Slumdog Millionaire--《贫民窟的百万富翁》

热门文章

  1. 安装sun-java5-jdk 在ubuntu 9.10 提示无法找到软件包sun-java5-jdk#...
  2. 使用ORM Profiler分析数据访问性能
  3. ASP.NET的五大数据控件分析
  4. 教你9招最有效防电脑辐射方法
  5. linux常用命令解析
  6. vconsole插件_移动端调试面板插件vconsole
  7. java怎么编写软键盘_安卓手机软键盘操作
  8. 【学习笔记】15、标准数据类型—集合
  9. 【技术好文转载】为什么AI芯片是当今热点
  10. ABAP取域的固定值