unix dgram通信

详解unix dgram通信 阅读详情
# 同一个机器多个进程间通信,unix比AF_INET效率更高
# client
import socket               # 导入 socket 模块
import os
import threading
import time

class SocketClient(threading.Thread):
    def __init__(self):
        super(SocketClient, self).__init__()
        
        self._addr = "/tmp/socket/unix_socket"
        self._socket = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_DGRAM)         # 创建 socket 对象

    def connect(self):
        self._socket.connect(self._addr)

    def run(self):
        while True:
            msg = "hello, I am is client socket"
            self._socket.sendall(msg.encode())
            # msg = self._socket.recv(1024)
            # print(f"client recv msg:{msg.decode()}")
            time.sleep(1)

if __name__ == "__main__":
    try:
        client = SocketClient()                
        client.connect()
    except Exception as e:
        print(f"exception {e}")
    else:
        client.start()
# server
import socket               # 导入 socket 模块
import os
import threading
import time

class SocketServer(threading.Thread):
    def __init__(self):
        super(SocketServer, self).__init__()
        
        # 使用socket文件进行单项通信, 数据报类型
        self._addr = "/tmp/socket/unix_socket"
        self._socket = socket.socket(family=socket.AF_UNIX, type=socket.SOCK_DGRAM)         # 创建 socket 对象


    def bind(self):
        if os.path.exists(self._addr):
            os.unlink(self._addr)
        self._socket.bind(self._addr)
        # 需要赋予读写权限,重点
        os.system(f"chmod 0777 {self._addr}")

    def run(self):
        while True:
            msg = self._socket.recv(1024)
            print(f"server recv msg:{msg.decode()}")
            # self._socket.sendall(msg.encode())
            time.sleep(1)

if __name__ == "__main__":
    try:
        server = SocketServer()                
        server.bind()
    except Exception as e:
        print(f"exception {e}")
    else:
        server.start()
Socket编程(C语言实现)—— AF_INET(典型的TCP/IP四层模型的通信过程),AF_UNIX(本地进程间通信) 1、AF_INET域与Socket通信 其是典型的TCP/IP四层模型的通信过程。 (1)接收方与发送方依赖IP和port来标识,即,将本地socket绑定到对应的IP端口上; (2)发送数据时指定对方的IP与端口,经过Internet可以根据此端口最终找到接收方; (3)接受数据时,可以从数据包内获取到发送方的IP和端口号。 (1) 发送方通过系统调用send()将原始数据发... 阅读详情

相关推荐

告别绕线!用Altium Designer从零设计一个PCB平面变压器(附3D模型)

本文详细介绍了如何使用Altium Designer从零设计一个PCB平面变压器,包括磁芯选型、电气参数计算、PCB设计实战技巧以及3D验证与生产输出。通过将绕组直接集成到PCB层中,配合嵌入式磁芯,实现了小型化、高功率密度的电源设计,适用于中低电流、高频应用场景。附3D模型,帮助读者快速掌握这一创新设计流程。

weixin_33716154的博客 443

linux unix域本地通信模型

与 TCP 和 UDP 套接字不同的是,Unix 域套接字并不依赖于网络协议栈,而是通过文件系统来实现进程间通信,因此具有很高的性能和安全性。需要注意的是,在使用 Unix 域套接字进行进程间通信时,由于套接字地址是一个文件路径名,因此需要确保该文件路径名在进程之间是可见的和共享的。因此,使用无连接的 Unix 域套接字进行通信时,不能保证数据传输的正确性。在无连接的通信模式中,客户端和服务器都只需要创建一个 Unix 域套接字,并通过。在使用无连接的通信模式时,客户端和服务器都只需要通过。

liu995336126的博客 475

STM32--基于STM32F103C8T6的OV7670摄像头显示

使用 STM32F103C8T6 微控制器驱动 OV7670 摄像头模组,并将图像数据显示在屏幕上,是嵌入式系统中常见的图像采集与显示应用。OV7670 是一款 CMOS VGA 图像传感器,具有高灵敏度、低电压等特点,适用于嵌入式应用。而 STM32F103C8T6 是一款常用的 MCU 控制器,具有丰富的管脚资源和较高的工作频率。

duierrorshuobu的博客 2146

UNIX网络编程学习笔记:套接字

1. socket函数 socket函数原型如下: #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); # domain表示套接字要使用的协议簇,常见的有: AF_UNIX(本机通信) AF_INET(TCP/IP-IPv4) AF_INET6(TCP/IP-IPv6) # type表示套接字类型,常用的类型有: SOCK_

至绽至强的博客 565

重回童年的经典系列☀️| 【坦克大战3D版】游戏制作+解析

带你重回童年的经典系列——坦克大战3D版制作,感兴趣的可以看看呀~

努力前行,总会成为自己心中的那道光 5万+

【目录】专栏文章导航

从最强工具链Davinci Configurator模块学习出发掌握AUTOSAR

weixin_47571898的博客 3302

UNIX DGRAM socket实例

服务端 #include <sys/socket.h> #include <sys/un.h> #include <linux/types.h> #include <sys/types.h> #include <arpa/inet.h> #include <unistd.h> #include <string.h> #include <stdlib.h> #include <stdio.h> #in

yinshuisiquan的博客 658

YOLOv11增量学习数据回放优化:解决新类别引入时的灾难性遗忘问题

本文提出了一种基于生成式潜在回放和提示学习的YOLOv11增量学习系统,旨在解决目标检测中的灾难性遗忘问题。系统采用改进的YOLOv11骨干网络,结合条件变分自编码器生成旧类别特征,并通过渐进式提示调优模块实现高效参数更新。关键技术包括:1) C3k2模块和C2PSA注意力增强特征提取;2) CLIP引导的VAE潜在空间数据回放;3) 类特定与超类别提示相结合的增量调优策略;4) 自适应特征金字塔与显式视觉中心融合机制。实验表明,该方法在保持原有检测性能的同时,显著降低了增量学习过程中的遗忘现象。

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 2106

UNIX DOMAIN SOCKET 使用示例 包含 STREAM及DGRAM 服务器/客户端收发示例

//file unix_socket_helper.h #ifndef UNIX_SOCKET_HELPER_H #define UNIX_SOCKET_HELPER_H #include <unistd.h> #include <sys/un.h> #include <sys/types.h> #include <sys/socket.h> #include<string> #define SOCKET int #define INVALID_.

xuyuanwang19931014的博客 788

自动驾驶大模型---小鹏汽车VLA大模型

随着自动驾驶技术的进步,小鹏汽车正通过云端大模型蒸馏技术,将72B参数的VLA大模型轻量化后部署到车端,以提升自动驾驶系统的智能和安全性。这种技术路线不仅解决了“模态不统一”的问题,还通过强化学习增强了模型的表现。

智能汽车人的博客 2235

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

Windows窗口编程中的WM_PAINT、WM_ERASEBKGND、InvalidateRect、UpdateWindow、BeginPaint和EndPaint等函数详解

dvlinker的技术专栏 7167

【sock_stream和sock_dgram】、 【AF_INET和AF_UNIX】

【sock_stream和sock_dgram】 1、sock_stream 是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。2、sock_dgram 是无保障的面向消息的socket , 主要用于在网络上发广播信息。3、SOCK_STREAM是基于TCP的,数据传输比较有保障。SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播;SOCK_ST...

weixin_30510153的博客 386

面向高速Serdes的信号完整性优化:从封装 - 板级互连局限到封装内互连技术演进(一)

本文针对高速SerDes互连链路中的关键电磁效应展开研究:1)揭示了封装-主板互连结构在毫米波频段易激发谐振效应,导致53GHz传输陷波和阻抗偏移;2)提出基于本征模分析的谐振抑制方法,通过优化接地过孔排布使带宽突破95GHz;3)系统比较了方形/六边形BGA排布下23种差分对朝向的串扰特性,证实六边形阵列可将功率和串扰降低30%以上;4)论证了100GHz以上带宽需采用封装内互连架构,其较传统方案减少50%阻抗不连续节点。

小孟同学的博客 232

Unix Domain Socket —— UDP 篇

Unix Domain Socket UDP 通信摘要 本文介绍了Unix Domain Socket在UDP模式下的进程间通信实现。Unix Domain Socket是一种高效的IPC机制,相比网络Socket避免了协议栈开销,直接进行进程间数据拷贝。文章详细讲解了UDP通信的关键API: 创建Socket:使用socket()函数指定AF_UNIX域和SOCK_DGRAM类型 绑定地址:通过bind()将Socket与sockaddr_un结构体指定的路径绑定 数据传输:使用sendto()和recv

似霰的博客 681

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Unix domain socket 的一些小结

1. unix域的数据报服务是否可靠         man unix 手册即可看到,unix domain socket 的数据报既不会丢失也不会乱序 (据我所知,在Linux下的确是这样)。不过最新版本的内核,仍然又提供了一个保证次序的类型 “ kernel 2.6.4 SOCK_SEQPACKET ”。 2. STREAM 和 DGRAM 的主要区别         既

WangMark的专栏 3736

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

linux 系统下使用socket进行本地进程间通信:About AF_LOCAL in Linux

点击打开链接一、Unix domain socket    Unix domain socket 或者 IPC socket是一种终端,可以使同一台操作系统上的两个或多个进程进行数据通信。与管道相比,Unix domain sockets 既可以使用字节流,又可以使用数据队列,而管道通信则只能使用字节流。Unix domain sockets的接口和Internet socket很像,但它不使用网...

$firecat利白的代码足迹$ 7491

c/c++ linux 进程间通信系列2,使用UNIX_SOCKET

linux 进程间通信系列2,使用UNIX_SOCKET 1,使用stream,实现进程间通信 2,使用DGRAM,实现进程间通信 关键点:使用一个临时的文件,进行信息的互传。 s_un.sun_family = AF_UNIX; strcpy(s_un.sun_path, "/tmp/afunix_text"); 使用stream,server端: #include <...

weixin_30337251的博客 266

14、unix域协议简单代码

unix域协议实现简单的进程见通信

Little Big Us的博客 350

python unix socket_python3实现unix域协议(tcp、udp)通讯

socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIXDomain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进...

weixin_39917211的博客 698

Linux之本地进程间Socket通信

一、Sokcet 学习路径1:http://blog.youkuaiyun.com/u010073981/article/details/50734484 学习路径2:https://www.cnblogs.com/cy568searchx/p/4211124.html 学习路径3:https...

landishu的专栏 2690

AF_UNIX实现linux本地socket通信的笔记

干煸四季豆 4531

C++ ROS中的Unix Domain Socket (UDS) 深度解析与实践

本文深入探讨了Unix Domain Socket(UDS)在ROS系统中的高效进程间通信实现。文章首先介绍了UDS的三种通信类型:SOCK_STREAM(可靠有序字节流)、SOCK_DGRAM(不可靠数据报)和SOCK_SEQPACKET(可靠有序数据报),并分析了它们在ROS中的适用场景。随后通过C++代码详细展示了面向对象的UDS服务器实现,包括信号处理、套接字初始化、客户端连接管理和消息处理等关键环节。该实现采用SOCK_SEQPACKET类型,在保证消息可靠性的同时兼顾边界完整性,特别适合ROS节

lovely_yoshino的博客 6096

Unix domain socket

Unix domain socket 又叫 IPC Socket (inter-process communication socket) ,是POSIX操作系统的标准组件, 用于同一台系统上进程间的通信。它支持SOCK_STREAM(类TCP)、SOCK_SEQPACKET(类SCTP)、SOCK_DGRAM(类UDP)。 ...

paozixiaopu的博客 269

IPC socket

参考:http://blog.youkuaiyun.com/guxch/article/details/7041052

finding的专栏 2021
上一篇: 安装openssl Makefile:688 configdata.pm报错
下一篇: python zmq客户端和服务端router socket类型
最后冰吻free
博客等级 码龄12年 121粉丝 371原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值