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

如何将AF_INET套接字多路传输到守护进程,并获取应用程序中原始端口的相关信息?

AF_INET是一种套接字地址族,用于在互联网上进行网络通信。在将AF_INET套接字多路传输到守护进程并获取应用程序中原始端口的相关信息时,可以通过以下步骤实现:

  1. 创建一个AF_INET套接字:使用编程语言中的套接字库函数,如Python中的socket库,创建一个AF_INET套接字对象。
  2. 绑定套接字到特定端口:使用套接字对象的bind()函数将套接字绑定到一个特定的端口号。这样,套接字就可以监听该端口上的传入连接。
  3. 将套接字设置为监听模式:使用套接字对象的listen()函数将套接字设置为监听模式,以便接受传入的连接请求。
  4. 接受传入的连接:使用套接字对象的accept()函数接受传入的连接请求。这将返回一个新的套接字对象,该对象用于与客户端进行通信。
  5. 创建守护进程:使用操作系统提供的相关函数或库,创建一个守护进程。守护进程是在后台运行的进程,通常用于执行系统任务或服务。
  6. 在守护进程中处理传入的连接:在守护进程中,使用接受的套接字对象进行通信。可以使用套接字对象的recv()函数接收客户端发送的数据,并使用send()函数向客户端发送响应。
  7. 获取应用程序中原始端口的相关信息:在守护进程中,可以通过套接字对象的getsockname()函数获取套接字绑定的本地地址和端口信息。这样就可以获取应用程序中原始端口的相关信息。

总结:通过以上步骤,可以将AF_INET套接字多路传输到守护进程,并获取应用程序中原始端口的相关信息。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

传输层通信秘籍|轻松掌握网络通信奥秘

在发送端,运输层将从发送应用程序进程接收到报文转化成运输层分组,分组在计算机网络也称为 报文段(segment)。...原始套接(Raw sockets): 原始套接允许直接发送和接收 IP 数据包,而无需任何特定于协议传输层格式,原始套接可以读写内核没有处理过 IP 数据包。...当应用程序具有套接描述符后,它可以将唯一名称绑定在套接上,服务器必须绑定一个名称才能在网络访问。...虽然套接 API 位于应用程序层和传输层之间通信模型,但是套接 API 不属于通信模型。套接 API 允许应用程序与传输层和网络层进行交互。...多路复用和多路分解 我们上面聊到了在主机上每个套接都会分配一个端口号,当报文段到达主机时,运输层会检查报文段目的端口号,并将其定向到相应套接,然后报文段数据通过套接进入其所连接进程

29060

网络编程『简易TCP网络程序』

, BIND_ERR }; 接下来开始填充代码内容 服务器 1.3.初始化服务器 基于 TCP 协议实现网络程序也需要 创建套接、绑定 IP 和端口号 在使用 socket 函数创建套接时...,凑巧是在 Linux 中网络是以挂接在文件系统方式实现,种种迹象表明:可以通过文件相关接口进行通信 read 从文件读取信息(接收消息) write 向文件写入信息(发送消息) 这两个系统调用核心参数是...fd(文件描述符),即服务器与客户端在连接成功后,获取 socket 套接,所以接下来可以按文件操作套路,完成业务处理 Service() 业务处理函数 — 位于 server.hpp 服务器头文件...> 0 表示创建子进程成功,接下来执行父进程代码 ret < 0 表示创建子进程失败 子进程创建成功后,会继承父进程文件描述符表,能轻而易举获取客户端 socket 套接,从而进行网络通信...首先通过指令查看当前 会话 中正在运行 后台进程获取 任务号 jobs 接下来通过 任务号 将 后台进程 变成 前台进程,此时 bash 就无法使用了 fg 1 那如何将 前台进程 变成 后台进程

36310
  • 【计算机网络】TCP协议详解

    1、引言 在上一篇博客,我们学习了Udp协议相关内容,今天我们开始学习Tcp协议相关本内容,带着大家完成相关代码编写。...addr:这是一个指向sockaddr结构体指针,用于存储接受到客户端地址信息(包括IP地址和端口号)。这个参数是可选,如果不需要获取客户端地址信息,可以将其设置为NULL。...这个新套接用于与客户端进行后续数据通信,而原始监听套接(sockfd)则继续保持在监听状态,等待接受其他客户端连接请求。...但是,原始监听套接描述符应该保持打开状态,以便继续接受其他客户端连接请求。...我们需要自称会话、自称进程组和终端设备。 5.2、如何实现守护进程 实现方案很多。 方案1 在系统中有相关函数,我们可以通过相关函数来实现守护进程

    15810

    linux下Socket编程(一)简介

    应用程序要创建一个套接时,操作系统就返回一个小整数作为描述符,应用程序则使用这个描述符来引用该套接需要I/O请求应用程序请求操作系统打开一个文件。...操作系统把该描述符作为索引访问进程描述符表,通过指针找到保存该文件所有的信息数据结构。 文件描述符和文件指针区别: 文件描述符:在linux系统打开文件就会获得文件描述符,它是个很小正整数。...type 说明 SOCK_STREAM(常用) 字节流套接 SOCK_DGRAM 数据报套接 SOCK_SEQPACKET 有序分组套接 SOCK_RAW 原始套接 protocol:指定协议...listen int listen(int sockfd, int backlog); 和listen相关大部分信息存储在inet_connection_sock结构。...accept获取客户端信息(ip和端口) 如果服务端不需要知道客户端信息,accept第二个和第三个参数可以NULL。如果需要则传入struct sockaddr*和socklen_t 。

    3.6K23

    计算机编程原理_如何编程

    介绍完基础知识,下面就介绍一些API函数: 创建套接──socket() 应用程序在使用套接字前,首先必须拥有一个套接,系统调用socket()向应用程序提供创建套接手段,其调用格式如下: SOCKET...网络文件系统(NFS)使用数据报式套接。 (3)三是原始套接(SOCK_RAW)该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新协议实现或访问现有服务配置新设备。...bind()将套接地址(包括本地主机地址和本地端口地址)与所创建套接字号联系起来,即将名字赋予套接,以指定本地半相关。...在面向连接协议,该调用导致本地系统和外部系统之间连接实际建立。 由于地址族总被包含在套接地址结构前两个字节通过socket()调用与某个协议族相关。...输入/输出多路复用──select() select()调用用来检测一个或多个套接状态。对每一个套接来说,这个调用可以请求读、写或错误状态方面的信息

    67440

    Deno TCP Echo Server 是怎么运行

    下面我们进入 23178 进程目录使用 ls -l | grep '^d' 命令查看当前目录下子目录信息: [root@izuf6ghot555xyn666xm888]# cd /proc/23178...3.3 Socket API (1)socket() 函数:用于创建套接配置套接各种属性,返回描述符。...SOCK_DGRAM, 0); //创建UDP套接 (2)bind() 函数:用于将套接与特定 IP 地址和端口绑定起来,只有这样,流经该 IP 地址和端口数据才能交给套接字处理。...accept() 函数会返回一个新套接来和客户端通信,addr 保存了客户端 IP 地址和端口号,而 sock 是服务器端套接,大家注意区分。...关于 IO 多路复用与 epoll 相关内容,我们这里就不继续展开了,后续有时间的话,会专门写一下 IO 多路复用文章,介绍一下 select、poll 和 epoll 这些多路复用器区别。

    1.1K20

    网络编程 - Linux Socket编程

    原始套接(SOCK_RAM)   原始套接主要用于一些协议开发,可以进行比较底层操作。它功能强大,但是没有上面介绍两种套接使用方便,一般程序也涉及不到原始套接。...sa_data为不同协议族通信时必要数据。例如,sa_family为AF_INET时,sa_data要IP地址和端口号。...介绍sockaddr时,说到在使用AF_INET需要IP和端口号,但并不知道要将IP和端口号填到sockaddr哪个地方。于是,设计了sockaddr_in,定义出地址和端口号成员。...listen()函数 —— 服务器监听连接上套接客户端。 accept()函数 —— 接受远程客户端套接,会获取到远程连接客户端地址信息。...setsockopt()函数/getsockopt()函数 —— 套接设置项设置和获取。 getpeername()函数 —— 取得一个已经连接上套接远程信息

    9.7K50

    深入剖析Linux网络设计中网络IO重要角色

    EADDRNOTAVAIL 套接未绑定到地址,在尝试将其绑定到临时端口时,确定临时端口范围内所有端口号当前都在使用。...当流套接对等端执行有序关闭时,返回值将为0;不同域(例如UNIX和Internet域)数据报套接允许零长度数据报,当接收到这样数据报时,返回值为0;如果从流套接接收请求字节数为0,则也可以返回值...EAGAIN sockfd引用套接以前未绑定到地址,在尝试将其绑定到临时端口时,确定临时端口范围内所有端口号当前都在使用。 EBADF 指定描述符无效。...ENOTCONN 未连接套接,且未指定目标。 ENOTSOCK 文件描述符sockfd不引用套接。 EOPNOTSUPP flags参数某些位不适用于套接类型。...例如: IO函数 IO操作功能 IO检测功能 accept 从全连接队列取出一个已完成连接节点,返回内核自动生成文件描述符以及客户端ip地址和端口信息 检测全连接队列是否有已完成连接节点

    10520

    【计算机网络】socket 网络套接

    socket 对应类型,也就是相当于这个套接未来给我们提供什么服务,是面向字节流还是面向用户数据报,如下: 第三个参数表示是协议类型,目前我们不需要这个参数。...但是我们在网络套接编程时候不用第二个参数类型结构体,这个结构体它只是设计接口用,我们实际用是 sockaddr_in 类型结构体,只需要在时候进行强转即可。...我们可以使用 bzero() 接口将该结构体清0; 我们是要使用 bind 来让套接和我们往该结构体填充网络信息要关联起来,所以我们需要想该结构体填充对应字段。...第一个参数为我们刚刚设置为监听状态套接;后两个参数和 recvfrom() 后两个参数一样,都是输出型参数,也就是谁给我们发 TCP 报文,那么对应套接信息就会通过这两个参数返回出来。...其实它们分工是明确,我们原本定义 sockfd,即被创建,被 bind ,被监听套接,它工作是从底层获取连接;而未来真正提供通信服务,是 accept() 返回套接

    18610

    Socket编程原理(1)「建议收藏」

    应用程序(即进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口数据都被相应进程所接收,相应进程发给传输层数据都通过该端口输出。...在TCP/IP协议实现,端靠纪纪作类似于一般I/O操作,进程获取一个端口,相当于获取本地唯一I/O文件,可以用一般读写原语访问之。...网络文件系统(NFS)使用数据报式套接原始套接(SOCK_RAW) 该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新协议实现或访问现有服务配置新设备。...在面向连接协议,该调用导致本地系统和外部系统之间连接实际建立。 由于地址族总被包含在套接地址结构前两个字节通过socket()调用与某个协议族相关。...*/ } 这段程序执行结果是newsockid与客户套接建立相关,子进程启动后,关闭继承下来主服务器initsockid,利用新newsockid与客户通信。

    544160

    网络之socket套接-基础知识

    套接 套接种类 套接种类比较多,常见有以下三种: 1.网络套接; 2.原始套接; 3.unix域间套接; 用途 1.网络套接主要运用于跨主机之间通信,也可以支持本地通信; 2....域间套接只能在本地通信; 3.原始套接可以跨传输层(TCP/IP协议)访问底层数据。...套接是一种网络通信机制,IP + 端口号是套接构成形式。 网络字节序规定为大端(我们规定网络数据是大端形式)。 sockaddr使用统一接口解决所有网络或者其他场景下通信问题。...总结 以上就是今天要讲内容,本文介绍了socket套接相关概念。...本文作者目前也是正在学习网络相关知识,如果文章内容有错误或者不严谨部分,欢迎大家在评论区指出,也欢迎大家在评论区提问、交流。

    32530

    socket编程原理

    应用程序(即进程)通过系统调用与某端口建立连接(binding)后,传输层传给该端口数据都被相应进程所接收,相应进程发给传输层数据都通过该端口输出。...在TCP/IP协议实现,对端口操作类似于一般I/O操作,进程获取一个端口,相当于获取本地唯一I/O文件,可以用一般读写原语访问之。...网络文件系统(NFS)使用数据报式套接原始套接(SOCK_RAW) : 该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新协议实现或访问现有服务配置新设备。...地址在建立套接通信过程起着重要作用,作为一个网络应用程序设计者对套接地址结构必须有明确认识。...3.6 输入/输出多路复用──select() select()调用用来检测一个或多个套接状态。对每一个套接来说,这个调用可以请求读、写或错误状态方面的信息

    1.6K20

    c socket

    在TCP/IP协议簇,使用UDP协议来实现数据报套接。 1.3原始套接套接允许对较低层协议(如IP或ICMP)进行直接访问。 2....包括**数据流**、**数据报**、**原始类型**。 参数protocol说明该套接使用协议族特定协议。如果调用者不希望特别指定使用协议,则置为0,使用默认连接模式。...bind():绑定本地地址 一个套接用socket()创建后,它其实还没有与任何特定本地或目的地址相关联 connect():将套接连接到目的地址 初始创建套接并未与任何外地目的地址关联。...listen():设置等待连接状态 对于一个服务器程序,当申请到套接调用bind()与本地地址绑定后,就应该等待某个客户机程序来要求连接。...accept():接受连接请求 服务器进程使用系统调用socket,bind和listen创建一个套接,将它绑定到知名端口指定连接请求队列长度。

    64030

    UDP&TCP Linux网络应用编程详解

    此外,暂时不想关心具体网络模型,更注重于网络相关函数直接使用。 2.Linux网络编程基础 2.1 嵌套 多个TCP连接或者多个应用程序进程 可能需要同一个TCP端口传输数据。...因此,如果要访问其它协议发送数据必须使用原始嵌套,它允许对底层协议(如IP或ICMP)直接访问。 2.2 端口 TCP/IP协议端口端口范围从0~65535。...但是,网络地址只能确定进程所在计算机,而一台计算机上很可能同时运行着多个进程,所以仅凭网络地址还不能确定到底是和网络哪一个进程进行通信,因此套接口中还需要包括其他信息,也就是端口号(PORT)。...在一台计算机,一个端口号一次只能分配给一个进程,也就是说,在一台计算机端口号和进程之间是一一对应关系。 所以,使用端口号和网络地址组合可以唯一的确定整个网络一个网络进程。...例如,如网络某一台计算机IP为192.168.1.4,操作系统分配给计算机某一应用程序进程端口号为1500,则此时192.168.1.4 1500就构成了一个套接口。

    5.7K20

    16.1 Socket 端口扫描技术

    端口扫描是一种网络安全测试技术,该技术可用于确定对端主机开放服务,从而在渗透实现信息搜集,其主要原理是通过发送一系列网络请求来探测特定主机上开放TCP/IP端口。...例如,在使用阻塞套接接收数据时,如果没有数据可用,则调用函数将一直阻塞,直到有数据可用为止。在这种模式下,I/O操作将会一直阻塞应用程序进程,因此无法执行其他任务。...例如,在使用非阻塞套接接收数据时,如果没有数据可用,则调用函数将立即返回,指示操作正在进行,同时应用程序可以执行其他任务。...当某个文件或套接有事件发生时,内核会将其添加到内核缓冲区,同时在返回时告诉进程有哪些套接可以进行I/O操作,进程再根据文件或套接状态进行相应处理。...该函数通过设置fd_set类型掩码(mask)加入套接,使用select()函数查询该套接可写状态,设置超时时间为1毫秒,如果返回值为0,则目标端口未开放,继续下一个端口扫描。

    36250

    19 Python 基础: 重点知识点--网络通信基础知识讲解

    动态分配是指当一个系统进程应用程序进程需要网络通信时,它向主机申请一个端口,主机从可用端口号中分配一个供它使用。 当这个进程关闭时,同时也就释放了所占用端口号。 3.3 怎样查看端口?...其实TCP/IP协议族已经帮我们解决了这个问题,网络层“ip地址”可以唯一标识网络主机,而传输层“协议+端口”可以唯一标识主机应用程序进程)。...这样利用ip地址,协议,端口就可以标识网络进程了,网络进程通信就可以利用这个标志与其它进程进行交互 3....) RIP(路由信息协议,如报告股票市场,航空信息) DNS(域名解释) 注重速度流畅 UDP操作简单,而且仅需要较少监护,因此通常用于局域网高可靠性分散系统client/server应用程序。...,那么就产生一个新套接专门为这个客户端服务器 # newSocket用来为这个客户端服务 # tcpSerSocket就可以省下来专门等待其他新客户端链接#新端口连接好了,你要获取这个连接管道,

    1K30

    C语言第1课——socket编程+c++,c语言语录

    TCP负责发现传输问题,一旦有问题就会发出重传信号,直到所有数据安全正确输到目的地。 2.套接(socket) 在网络中用来描述计算机不同程序与其他计算机程序通信方式。...原始socket:原始套接允许对底层协议如IP或ICMP进行直接访问,它功能强大但使用复杂,主要用于一些协议开发。 套接由三个参数构成:IP地址,端口号,传输层协议。...这三个参数用以区分不同应用程序进程网络通信与连接。 套接数据结构:C语言进行套接编程时,常会使用到sockaddr数据类型和sockaddr_in数据类型,用于保存套接信息。...,大部分情况下只是用于bind,connect,recvfrom,sendto等函数参数,指明地址信息,在一般编程,并不对此结构体直接操作。...两种数据结构,地址族都占2个字节, 常见地址族有:AF_INET,AF_INET6AF_LOCAL。

    2.3K10

    socket技术详解(看清socket编程)

    网络文件系统(NFS)使用数据报式套接。 (3)三是原始套接(SOCK_RAW)该接口允许对较低层协议,如IP、ICMP直接访问。常用于检验新协议实现或访问现有服务配置新设备。...bind()将套接地址(包括本地主机地址和本地端口地址)与所创建套接字号联系起来,即将名字赋予套接,以指定本地半相关。...建立套接连接──connect()与accept() 这两个系统调用用于完成一个完整相关建立,其中connect()用于建立连接。accept()用于使服务器等待来自某客户进程实际连接。...在面向连接协议,该调用导致本地系统和外部系统之间连接实际建立。 由于地址族总被包含在套接地址结构前两个字节通过socket()调用与某个协议族相关。...输入/输出多路复用──select() select()调用用来检测一个或多个套接状态。对每一个套接来说,这个调用可以请求读、写或错误状态方面的信息

    2.8K30

    14.1 Socket 套接编程入门

    通过使用Windows提供API,应用程序可以创建一个套接来进行数据通信。这个套接可以绑定到一个端口,以允许其他应用程序连接它。...另外,Winsock可以使用TCP/IP、UDP等协议来完成不同类型数据传输任务。在网络应用程序开发套接通信可以帮助应用程序开发者实现客户端/服务端模型,实现数据可靠传输。...,在如下代码我们通过ServerAddr.sin_family = AF_INET;将套接类型设置为了互联网域模式,通过ServerAddr.sin_port = htons(9999);指定了需要绑定端口号...一旦连接请求被接受,函数将返回一个新套接对象和客户端地址信息。在接受连接请求创建新套接对象之后,服务器可以使用该对象与客户端进行通信。...sockaddr 是一个结构体,包含了客户端与服务器地址信息,包括其IP地址和端口号。在C/C++,sockaddr 结构体通常被定义为sockaddr_in结构体,包含了IP地址和端口号等信息

    39150
    领券