当前位置: 首页 > news >正文

Linux开发:进程间通过Unix Domain Socket传递数据

进程间传递数据的方式有很多种,Linux还提供一种特殊的Socket用于在多进程间传递数据,就是Unix Domain Socket(UDS)。

虽然通过普通的Socket也能做到在多进程间传递数据,不过这样需要通过协议栈层的打包与拆包,未免有些浪费效率,通过UDS,数据仅仅通过一个特殊的sock文件就可以进行传递。同时由于这种数据传递是通过内核完成的,所以不会存在UDP通信时的丢包现象。

以下对UDS的使用进行封装:

#pragma once
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <string>
#include <iostream>
#include <filesystem>using namespace std;
namespace fs = std::filesystem;class UDSData{
public:UDSData(){//创建基于数据包的通信,类似UDPm_sockFd = socket(AF_UNIX, SOCK_DGRAM, 0);if(m_sockFd == -1){cout << "create socket failed" <<endl;}}int bindFile(const string& sockFilePath){if(m_sockFd == -1){cout << "invalid socket" <<end
http://www.lryc.cn/news/393222.html

相关文章:

  • Redis基础教程(九):redis有序集合
  • Servlet与Servlet容器
  • 腾讯centos mysql安装
  • c_各个unsigned int 和 int的取值范围
  • C#/WPF 自制截图工具
  • 以腾讯为例,手把手教你搭建产品帮助中心
  • 计算机网络概述--自我学习用
  • 超级好用的java http请求工具
  • 在原有的iconfont.css文件中加入新的字体图标
  • 使用 ESP32-WROOM + DHT11 做个无屏温湿度计
  • 如何使用 SwiftUI 构建 visionOS 应用
  • InspireFace-商用级的跨平台开源人脸分析SDK
  • 华为HCIP Datacom H12-821 卷24
  • TikTok马来西亚直播网络怎么配置?
  • 基于若依的文件上传、下载
  • 论文回顾 | CVPR 2021 | How to Calibrate Your Event Camera | 基于图像重建的事件相机校准新方法
  • 高级java每日一道面试题-2024年7月1日
  • 当需要对多个表进行联合更新操作时,怎样确保数据的一致性?
  • 数据结构-线性表的应用
  • cpp http server/client
  • 昇思25天学习打卡营第2天|MindSpore快速入门
  • django之url路径
  • 【OnlyOffice】桌面应用编辑器,插件开发大赛,等你来挑战
  • [学习笔记]SQL学习笔记(连载中。。。)
  • Buuctf之SimpleRev做法
  • 【云原生监控】Prometheus 普罗米修斯从搭建到使用详解
  • 【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)
  • Cookie与Session
  • Nuxt3 的生命周期和钩子函数(十一)
  • Windows ipconfig命令详解,Windows查看IP地址信息