UNIX 域套接字

devtools/2024/11/15 0:59:13/

UNIX 域套接字(UNIX Domain Socket,简称 UDS)是一种在同一台机器上的进程间通信(IPC,Inter-Process Communication)机制,允许不同的进程通过文件系统中的特殊文件进行数据交换,而不需要通过网络协议栈。这使得 UNIX 域套接字在本地通信中比传统的 TCP/IP 套接字更高效。
UNIX 域套接字的特点
本地通信:UNIX 域套接字仅限于同一台机器上的进程之间的通信。它不涉及网络层的协议,因此通信延迟较低,效率较高。
基于文件系统:UNIX 域套接字使用文件系统中的特殊文件(通常是以 .socket 为扩展名的文件)作为通信的端点。这些文件通常位于 /tmp 或 /var/run 等目录下。
流式数据:和 TCP 套接字类似,UNIX 域套接字也支持面向流的通信(SOCK_STREAM),以及无连接的报文通信(SOCK_DGRAM)。

创建套接字时使用本地协议PF_UNIX(或PF_LOCAL)。
socket(AF_LOCAL, SOCK_STREAM, 0)
socket(AF_LOCAL, SOCK_DGRAM, 0)

本地地址结构
struct sockaddr_un // <sys/un.h>
{
sa_family_t sun_family;
char sun_path[108]; // 套接字文件的路径
};

填充地址结构
struct sockaddr_un myaddr;
bzero(&myaddr, sizeof(myaddr));
myaddr.sun_family = AF_UNIX;
strcpy(myaddr.sun_path, “/tmp/mysocket”);


http://www.ppmy.cn/devtools/134044.html

相关文章

PCL 点云拟合 基于角度约束的Ransac拟合直线

目录 一、概述 1.1原理 1.2实现步骤 1.3应用场景 二、代码实现 2.1关键函数 2.1.1 加载点云数据 2.1.2 设置 RANSAC 算法参数 2.1.3 拟合直线模型 2.1.4 提取拟合直线内点 2.2完整代码 三、实现效果 PCL点云算法汇总及实战案例汇总的目录地址链接: PCL点云算法与…

我自己nodejs练手时常用的一些库基础用法

我自己在使用nodejs以及前端实战练习时常用的一些库的基本使用 1.bcrypt //注册账号时&#xff0c;给密码加密 password是前端传过来的密码&#xff0c;hashPassword是存到数据库中的密码 const bcrypt require(bcrypt) const hashPassword bcrypt.hash(password,10) //登…

349. 两个数组的交集

目录 题目解法 题目 给定两个数组 nums1 和 nums2 &#xff0c;返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 解法 class Solution { public:vector<int> intersection(vector<int>& nums1, vector<int>…

高级java每日一道面试题-2024年11月01日-Redis篇-Redis支持的数据类型有哪些?

如果有遗漏,评论区告诉我进行补充 面试官: Redis支持的数据类型有哪些? 我回答: 在 Java 高级面试中&#xff0c;Redis 的数据类型是一个常见的考点。Redis 是一个高性能的键值存储系统&#xff0c;支持多种数据类型&#xff0c;每种数据类型都有其特定的用途和操作方法。以…

渗透利器-kali工具 (第三章-5) sqlmap之sql注入一、二

一&#xff1a;常见的注入方式 1.sqlmap用于Access数据库注入 2.sqlmap用于Cookie注入  --cookie 3.sqlmap用于Post注入  --froms 、--data、抓包 4.sqlmap用于mysql注入 绕过waf脚本测试&#xff1a;--tamper "space2morehash.py" 常见sqlmap使用方法&#xff1…

计算机网络基础(3)_应用层自定义协议与序列化

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 计算机网络基础(3)_应用层自定义协议与序列化 收录于专栏【计算机网络】 本专栏旨在分享学习计算机网络的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&a…

LeetCode297.二叉树的序列化和反序列化

题目要求 序列化是将一个数据结构或者对象转换为连续的比特位的操作&#xff0c;进而可以将转换后的数据存储在一个文件或者内存中&#xff0c;同时也可以通过网络传输到另一个计算机环境&#xff0c;采取相反方式重构得到原数据。 请设计一个算法来实现二叉树的序列化与反序…

第8章 利用CSS制作导航菜单.

8.1 水平顶部导航栏 我们在浏览网页的时候可以看见许多位于顶部的导航栏&#xff0c;供我们点击跳转。 8.1.1 简单水平导航栏的设计与实现 8.1.1.1导航栏的创建 我们此时可以发现它的样子和我们平时使用的导航栏不一样&#xff0c;因为这只是第一步&#xff0c;我们接下来再…