首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

UNIX协议(命名套接

这里主要介绍命名UNIX套接 1.什么是UNIX套接 Unix协议并不是一个实际的协议族,而是单个主机上执行客户/服务通信的一种方式。是进程间通信(IPC)的一种方式。...它提供了两类套接:字节流套接(有点像TCP)和数据报套接(有点像UDP) UNIX数据报服务是可靠的,不会丢失消息,也不会传递出错。...2.UNIX协议特点 1)UNIX套接TCP套接相比,同一台主机的传输速度前者是后者的两倍。...UNIX套接仅仅复制数据,并不执行协议处理,不需要添加或删除网络报头,无需计算校验和,不产生顺序号,也不需要发送确认报文 2)UNIX套接可以同一台主机上各进程之间传递文件描述符 3)UNIX...Server:先创建套接 -> 绑定地址 -> 监听 -> accept 客户端连接 -> 连接成功开始通信 -> 关闭套接 Client:先创建套接 -> 连接server -> 开始通信 ->

2.9K100

UNIX协议(无名套接

关于什么是UNIX套接可以参考:https://cloud.tencent.com/developer/article/1018893 这里主要介绍非命名的UNIX套接的用法。...功能:创建一个全双工的流管道 参数: domain:协议家族,为AF_LOCAL或AF_UNIX type:套接类型。可以是SOCK_STREAM或者SOCK_DGRAM。...为0 sv:返回套接对,这个是输出参数。返回的两个描述符都是可读可写的。 返回值:成功返回0,失败返回-1....注意:由于创建的每个套接都是没有名字的,这就意味着无关进程不能使用它们。 2.一个简单的例子: 父进程给子进程发送一个数据给子进程,子进程收到数据后最数据进行加一操作,再发回给父进程。...2)普通的TCP UDP套接是不能传递文件描述符的

72170
您找到你想要的搜索结果了吗?
是的
没有找到

JVM的监听信号的线程以及Unix套接通信的线程

让JVM不退出,我们对它做点手脚,看一下JVM的两个线程....面试题: 如何知道JVM的线程个数,有哪些方法? 接下来,我们/tmp目录下创建一个.attach_pid6617文件,如下 接下来,我们使用kill命令向进程发送退出信号....jdk/src/share/bin/main.c文件,有个main方法,它是一切的源头,JVM就是从这里开始它的人生之旅的,经过一路小跑,会创建main线程,也会创建JVM....首先,代码定义了一个 const char *filename = "/tmp/.java_pid6617"; 文件名, 我们看下这个文件. 6617就是进程ID....我们的C语言代码里 // 创建Unix Domain Socket用于本机进程间通信 fd = socket(PF_UNIX, SOCK_STREAM, 0); // 连接服务器.

41420

linux网络编程之socket(十五):UNIX套接编程和socketpair 函数

UNIX套接与TCP套接相比较,同一台主机的传输速度前者是后者的两倍。这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。... domain socket与TCP套接相比较,同一台主机的传输速度前者是后者的两倍。...三、UNIX套接编程注意点 1、bind成功将会创建一个文件,权限为0777 & ~umask 2、sun_path最好用一个绝对路径 3、UNIX协议支持流式套接口与报式套接口 4、UNIX...流式套接connect发现监听队列满时,会立刻返回一个ECONNREFUSED,这和TCP不同,如果监听队列满,会忽略到来的SYN,这导致对方重传SYN。...protocol: 协议类型 sv: 返回套接对 返回值:成功返回0;失败返回-1 实际上socketpair 函数跟pipe 函数是类似的,也只能在同个主机上具有亲缘关系的进程间通信,但

3.1K00

由 JVM Attach API 看跨进程通信中的信号和 Unix 套接

这篇会结合跨进程通信中的信号和 Unix 套接来看 JVM Attach API 的实现原理, 你将获得下面这些相关的知识 信号是什么 如何写一个不能被“轻易”杀死的程序 Unix 套接的用法...Docker 守护进程(Docker daemon)使用了 Unix 套接,容器的进程可以通过它与Docker 守护进程进行通信。MySQL 同样提供了套接进行访问的方式。...Unix 套接是什么?...Unix 套接更加高效,Unix 套接不用进行协议处理,不需要计算序列号,也不需要发送确认报文,只需要复制数据即可 Unix 套接是可靠的,不会丢失报文,普通套接是为不可靠通信设计的 Unix...套接的代码可以非常简单的修改转为普通套接 套接代码示例 下面是一个简单的 C 实现的套接的例子。

1K20

linux网络编程之socket(十六):通过UNIX套接传递描述符和 sendmsgrecvmsg 函数

在前面我们介绍了UNIX套接编程,更重要的一点是UNIX套接可以同一台主机上各进程之间传递文件描述符。...,而是为了传递文件描述符,所以只定义一个1节的char,其余参照前面对参数的解释可以理解。...协议才能在进程间传递文件描述符,如果想要在没有亲缘关系的进程间      * 传递,则不能用socketpair函数,要用socket()函数 */     if (socketpair(PF_UNIX...之前打开的文件描述符,子进程是可以共享的,但是子进程打开的文件描述符,父进程是不能共享的,上述程序就是举例子 进程打开了一个文件描述符,然后通过send_fd 函数将文件描述符传递给父进程,父进程可以通过...最后提醒一点,只有unix协议才能在本机进程间传递文件描述符,如果想要在没有亲缘关系的进程间传递,则不能用socketpair函数,要用socket()函 数 才行。

2.5K00

【DB笔试面试744】Oracle,什么是套接文件?

♣ 题目部分 Oracle,什么是套接文件? ♣ 答案部分 套接文件(Socket File)RAC环境承担着许多集群进程之间的通信任务,这些进程可以来自于集群的不同节点。...这些套接文件一般保存在tmp路径下,不同的操作系统其路径也会不同。...Linux环境的套接文件/var/tmp/.oracle文件夹下,在其它平台,可能的目录有:/tmp/.oracle/*,/tmp/.oracle或者/usr/tmp/.oracle。...若删除这些套接文件或修改这些套接文件的权限,则可能引起各种各样的问题,而且这些套接文件不能手动修复,只能通过重启集群的方式来生成全新的套接文件,即集群每次启动的时候都会重新生成新的套接文件。...以下是套接文件的列表: [root@node1 tmp]# cd /var/tmp/.oracle [root@node1 .oracle]# ll total 4 srwxrwx--- 1 grid

70620

sock基础编程介绍

为了建立通信通道,网络通信的每个端点拥有一个套接对象极为重要。 套接为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。...许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供对套接的支持。 三种最流行的套接类型是:stream,datagram和raw。...socket=socket.socket(familly,type) family的值可以是AF_UNIX(Unix,用于同一台机器上的进程间通讯),也可以是AF_INET(对于IPV4协议的TCP...第3步,绑定后,必须准备好套接,以便接受连接请求。...type参数代表套接类型,可为SOCK_STREAM(流套接)和SOCK_DGRAM(数据报套接)。 第二步是将socket绑定到指定地址。

1.2K10

python的socket编程

为了建立通信通道,网络通信的每个端点拥有一个套接对象极为重要。 套接为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。...许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供对套接的支持。 三种最流行的套接类型是:stream,datagram和raw。...socket=socket.socket(familly,type) family的值可以是AF_UNIX(Unix,用于同一台机器上的进程间通讯),也可以是AF_INET(对于IPV4协议的TCP...第3步,绑定后,必须准备好套接,以便接受连接请求。...type参数代表套接类型,可为SOCK_STREAM(流套接)和SOCK_DGRAM(数据报套接)。 第二步是将socket绑定到指定地址。

79610

Linux C Socket Api详解

与应用程序使用文件描述符一样,访问套接需要使用套接描述符。套接描述符UNIX系统是用文件描述符实现的。...下图给出了一些类型,但在实现可以自由增加对其他类型的支持。 ? 参数protocol通常是0,表示按给定的套接类型选择默认的协议。...字节流(SOCK_STREAM)要求交换数据之前,本地套接和远程套接之间建 立一个逻辑联系。 Tcp:没有报文界限,提供的是字节流服务。之前写过Qt传输图片的拆包与解包,原因就是如此吧。...将套接与地址绑定 使用bind函数将地址绑定到一个套接上。...可见规则总是因人而异,计算机也是如此~ 对于因特网,如果指定IP地址为ADDR_ANY,套接端点可以被绑定到所有的系统网络接口。

5.5K10

Python 聊天程序

为了建立通信通道,网络通信的每个端点拥有一个套接对象极为重要。 套接为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。...许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供对套接的支持。...要在python建立具有TCP和流套接的简单服务器,需要使用socket模块。利用该模块包含的函数和类定义,可生成通过网络通信的程序。一般来说,建立服务器连接需要六个步骤。...socket=socket.socket(familly,type) family的值可以是AF_UNIX(Unix,用于同一台机器上的进程间通讯),也可以是AF_INET(对于IPV4协议的TCP...第3步,绑定后,必须准备好套接,以便接受连接请求。

1.2K20

python实现socket通讯(TCP)

为了建立通信通道,网络通信的每个端点拥有一个套接对象极为重要。 套接为BSD UNIX系统核心的一部分,而且他们也被许多其他类似UNIX的操作系统包括Linux所采纳。...许多非BSD UNIX系统(如ms-dos,windows,os/2,mac os及大部分主机环境)都以库形式提供对套接的支持。...socket=socket.socket(familly, type) family的值可以是AF_UNIX(Unix,用于同一台机器上的进程间通讯),也可以是AF_INET(对于IPV4协议的TCP...AF 表示ADDRESS FAMILY 地址族 PF 表示PROTOCOL FAMILY 协议族 windowsAF_INET与PF_INET完全一样,而在Unix/Linux系统不同的版本这两者有微小差别...第3步,绑定后,必须准备好套接,以便接受连接请求。

2.4K20

数据库PostrageSQL-服务器配置连接和认证

Windows下没有 Unix 套接,因此这个参数与 Windows 无关。...Windows 下没有 Unix 套接,因此这个参数与 Windows 无关。 unix_socket_permissions (integer) 设置 Unix 套接的访问权限。...这个参数只有支持TCP_KEEPIDLE或等效套接选项的系统或 Windows 上才可以使用。在其他系统上,它必须为零。通过 Unix 套接连接的会话,这个参数被忽略并且总是读作零。...这个参数只有支持TCP_KEEPINTVL或等效套接选项的系统或 Windows 上才可以使用。在其他系统上,必须为零。通过 Unix套接连接的会话,这个参数被忽略并总被读作零。...这个参数只有支持TCP_KEEPCNT或等效套接选项的系统上才可以使用。在其他系统上,必须为零。通过 Unix 套接连接的会话,这个参数被忽略并总被读作零。

4.4K20

【专业技术】linux下socket编程

TCP/IP协议存在于OS,网络服务通过OS提供,OS增加支持TCP/IP的系统调用——Berkeley套接,如Socket,Connect,Send,Recv等 UDP(User Data Protocol...套接API最初是作为UNIX操作系统的一部分而开发的,所以套接API与系统的其他I/O设备集成在一起。...许多操作系统套接描述符和其他I/O描述符是集成在一起的,所以应用程序可以对文件进行套接I/O或I/O读/写操作。...应用程序创建套接字后套接可以使用之前,必须调用其他的过程来填充这些字段。 3、文件描述符和文件指针的区别: 文件描述符:linux系统打开文件就会获得文件描述符,它是个很小的正整数。...而文件描述符是文件描述符表的一个索引,因此从某种意义上说文件指针就是句柄的句柄(Windows系统上,文件描述符被称作文件句柄)。 4.

1.6K60

Linux进程间通信方式之socket使用实例

地址的格式随(又被称为协议族,protocol family)的不同而不同。每个协议族又可以使用一个或多个地址族定义地址格式。 1.套接 指定套接通信中使用的网络介质。...2.套接类型 流套接某些方面类似标准的输入/输出流)提供的是一个有序,可靠,双向字节流的连接。...流套接由类型SOCK_STREAM指定,它们是AF_INET域中通过TCP/IP连接实现的。他们也是AF_UNIX域中常见的套接类型。...对于本地套接来说,流式套接(SOCK_STREAM)是一个有顺序的、可靠的双向字节流,相当于本地进程之间建立起一条数据通道;数据报式套接(SOCK_DGRAM)相当于单纯的发送消息,进程通信过程... TCP/IP 协议,IP 地址的首字节为 127 即代表本地,因此本地套接通信可以使用 IP 地址为 127.x.x.x 的网络套接来实现。

5K61

【RL-TCPnet网络教程】第18章 BSD Sockets基础知识

18.3.1 网络套接(Network Socket) 计算机科学,网络套接,又译网络接口、网络插槽,是电脑网络中进程间数据流的端点。...这种标准名字,ARPA网称作套接,而在很多其他计算机网称作信口。更确切地说,进程之间的连接是通过套接或信口构成的。...操作系统,通常会为应用程序提供一组应用程序接口,称为套接接口(Socket API)。应用程序可以通过套接接口,来使用网络套接,以进行数据交换。...18.5 BSD Sockets简介 Berkeley sockets,又称BSD sockets,是一种应用程序接口,用于网际套接Unix套接Unix domain sockets),包括了一个用...这套应用程序接口也被用于Unix套接

90130

14.1 Socket 套接编程入门

Winsock是Windows操作系统上的套接API,用于在网络上进行数据通信。套接通信是一种允许应用程序计算机网络上进行实时数据交换的技术。...通过使用Windows提供的API,应用程序可以创建一个套接来进行数据通信。这个套接可以绑定到一个端口,以允许其他应用程序连接它。...该函数,给定三个参数,分别为地址族(Address Family)、套接类型(Socket Type)和协议(Protocol),套接初始化并完成时会返回一个SOCKET类型的文件描述符句柄,...bind()函数实现,该函数接受三个参数传递,第一个参数是socket()创建的套接文件描述符句柄,该参数用于指定针对哪一个套接进行操作,第二个参数则是sockaddr_in类型的结构体,该结构体内用于指定需要绑定套接的具体类型参数等信息...,如下代码我们通过ServerAddr.sin_family = AF_INET;将套接类型设置为了互联网模式,通过ServerAddr.sin_port = htons(9999);指定了需要绑定的端口号

32750
领券