socket函数手册

socket地址说明及转换函数 1.   三种常见结构类型  在套接字编程编程中,有三种常见的结构类型,它们用来存放socket地址信息。这三种结构类型分别为struct in_addr、struct sockaddr、struct sockaddr_in,对这三种结构类型说明如下。stru 阅读详情
socket函数手册
http://blog.chinaunix.net/u2/75985/showart_1129717.html
字节序函数
 

#include <netinet/in.h>
/* 主机序转换为网络序(short类型) */
uint16_t htons (uint16_t host16bitvalue);
/* 主机序转换为网络序(long类型) */
uint32_t htonl (uint32_t host32bitvalue);

/* 网络序转换为主机序(short类型) */
uint16_t ntohs (uint16_t net16bitvalue);
/* 网络序转换为主机序(long类型) */
uint32_t ntohl (uint32_t net32bitvalue);

字节操纵函数

#include <string.h>
/* 清零 */
void bzero (void *dest, size_t nbytes);
/* 拷贝 */
void bcopy (const void *src, void *dest, size_t nbytes);
/* 比较 */
int bcmp (const void *ptr1, const void *ptr2, size_t nbytes);

IPv4地址转换函数

#include <arpa/inet.h>

/*
 * 字符串(x.x.x.x)转为32位网络序数值
 * 返回:成功 - 1, 失败 - 0
 */

int inet_aton (const char *strptr, struct in_addr *addrptr);

/*
 * 字符串(x.x.x.x)转为32位网络序数值
 * 返回:成功 - 32位网络序数值,失败 - INADDR_NONE(0xffffffff)
 * 注意:255.255.255.255地址无法转换,不推荐使用
 */

in_addr_t inet_addr (const char *strptr);

/*
 * 32位网络序数值转为字符串(x.x.x.x)
 * 返回:字符串(x.x.x.x)
 * 注意:返回的字符串保存在静态内存中,此函数不可重入
 */

char* inet_ntoa (struct in_addr inaddr);

IPv4、IPv6 通用地址转换函数

#include <arpa/inet.h>
/*
 * 地址字符串转为数值
 * 参数:family - AF_INET; AF_INET6,
         addrptr - sockaddr_in结构体的sin_addr的地址或sockaddr_in6结构体的sin6_addr的地址
 * 返回:成功 - 1,失败 - -1,输入不是有效的地址 - 0
 */

int inet_pton (int family, const char *strptr, void *addrptr);
/*
 * 数值转为地址字符串
 * 参数:family - AF_INET或AF_INET6,
        addrptr - sockaddr_in结构体的sin_addr的地址或sockaddr_in6结构体的sin6_addr的地址
        strptr - 保存转换后的地址字符串,指针不能为空,并不小于len指定的长度
        len - 字符串长度,<netinet/in.h>中定义INET_ADDRSTRLEN(16)或INET6_ADDRSTRLEN(48)
 * 返回:成功 - 返回strptr,失败 - NULL
 */

const char* inet_ntop (int family, const void *addrptr, char *strptr, size_t len);

TCP套接口函数

#include <sys/socket.h>
/*
 * 创建socket套接口,指定套接口协议类型
 * 参数:
   family - AF_UNIX(Unix域),AF_LOCOL(Unix域的POSIX名称),AF_INET(IPv4),AF_INET6(IPv6),AF_ROUTE(路由套接口),AF_KEY(密钥套接口),AF_PACKET
   type - SOCK_STREAM(字节流),SOCK_DGRAM(数据报),SOCK_RAW(原始IPv4、IPv6),SOCK_PACKET(LINUX 上类似BPF(BSD分组过滤器,Berkeley内核,如FreeBSD)和DLPI(数据链路提供者接口,SVR4内核,如soloris)的直接访 问底层数据链路的套接口类型),SOCK_RDM(可靠传递消息),SOCK_SEQPACKET(有序分组)
   protocol - 0为给定family和type组合的系统默认值
   返回:成功 - 套接口描述字,失败 - -1
 */

int socket (int family, int type, int protocol);

/*
 * TCP客户端与TCP服务器建立连接,调用此函数会触发TCP的三次握手,并建立连接。调用此函数前,不必调用bind函数,内核会决定源IP并选择一个临时端口作为源端口。
 * 参数:
   sockfd - 套接口描述字
   servaddr - 包含要连接的服务器的IP和端口号的套接口地址结构
   addrlen - servaddr套接口地址结构体的大小
 * 返回:成功 - 0,失败 - -1
 */

int connect (int sockfd, const struct sockaddr *servaddr, socklen_t addrlen);

/*
 * 将一个本地协议地址赋给套接口
 * 参数:
   sockfd - 套接口描述字
   myaddr - 绑定的本地协议地址,对于网际协议,即IP地址和端口,如果IP地址赋值为INADDR_ANY(通配地址wildcard),则由内核去选择IP地址,如果端口赋值为0,则由内核选择一个临时端口
   addrlen - 地址结构体的大小
 * 返回:成功 - 0,失败 - -1
 */

int bind (int sockfd, const struct sockaddr *myaddr, socklen_t addrlen);

/*
 * 指示内核接受一个未连接的套接口上的连接请求
 * 参数:
   sockfd - 套接口描述字
   backlog - 套接口两个队列(完成连接和未完成连接)的排队最大连接个数,各个操作系统有不同的根据backlog计算排队最大连接个数的算法
   返回:成功 - 0, 失败 - -1
 */

int listen (int sockfd, int backlog);

/*
 * 从已完成连接队列对头返回一个已完成连接,如果已完成连接队列为空,那么进程被阻塞(假设套接口为缺省的阻塞方式)
 * 参数:
   sockfd - 监听套接口描述字
   cliaddr - 输出参数,返回已连接的客户端的协议地址,为NULL,则不返回
   addrlen - 输出参数,返回套接口地址结构体的大小,为NULL,则不返回
 * 返回:成功 - 已连接套接口描述字(由内核自动生成的一个新描述字,代表与所返回客户端的TCP连接),失败 - -1, EINTER - 收到中断
 */

int accept (int sockfd, struct sockaddr *cliaddr, socklen_t *addrlen);

#include <unistd.h>
/*
 * 关闭套接口,并终止TCP连接,如果为并发服务器父进程关闭已连接套接口,会将相应描述字的引用计数减一,如果计数不为0,将不会发送FIN
 * 参数:sockfd - 套接口描述字
 * 返回:成功 - 0, 失败 - -1
 */

int close (int sockfd);

获得与套接口关联的协议地址

#include <sys/socket.h>
/*
 * 获得与套接口关联的本地协议地址
 * 参数:
   sockfd - 套接口描述字
   localaddr - 输出参数,返回与套接口关联的本地协议地址
   addrlen - 输出参数,返回套接字地址结构体的大小
 * 返回:成功 - 0, 失败 - -1
 */

int getsockname (int sockfd, struct sockaddr *localaddr, socklen_t *addrlen);

/*
 * 获得与套接口关联的远端协议地址
 * 参数:
   sockfd - 套接口描述字
   peeraddr - 输出参数,返回与套接口关联的远端协议地址
   addrlen - 输出参数,返回套接字地址结构体的大小
 * 返回:成功 - 0, 失败 - -1
 */

int getpeername (int sockfd, struct sockaddr *peeraddr, socklen_t *addrlen);

 
I/O 复用函数
 
 

#include <sys/select.h>
#include <sys/time.h>

/*
 * 检查是否收到关心的套接字事件
 * 参数:
   maxfdp1 - 关心的最大套接字 + 1
   readset - 关心是否可读的套接字的集合,NULL代表不关心
   writeset - 关心是否可写的套接字的集合,NULL代表不关心
   exceptset - 关心是否有异常的套接字的集合,NULL代表不关心
   timeout - NULL:永远等下去;秒数和毫秒数都为0:不等待;指定值:等待一段时间
 * 返回:成功 - 就绪套接字的数目,超时 - 0,失败 - -1
 */

int select(int maxfdp1, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout);

/* 用来设置关心套接字集合的函数 */
void FD_ZERO(fd_set *fdset);
void FD_SET(int fd, fd_set *fdset);
void FD_CLR(int fd, fd_set *fdset);
int FD_ISSET(int fd, fd_set *fdset);

 
发送FIN函数
 

#include <sys/socket.h>

/*
 * 发送FIN,关闭连接
 * 参数:
   sockfd - 要关闭连接的socket描述字
   howto - 关闭连接方式:SHUT_RD - 关闭连接的读这一半,不再接收数据,丢弃接收缓冲区中的未接收数据;SHUT_WR - 关闭连接的写这一半,即半关闭状态,发送缓冲区中将被发送完;SHUT_RDWR - 连接的读写都被关闭
 * 返回:成功 - 0,失败 - -1
 */

int shutdown(int sockfd, int howto);

套接口选项函数

 注:标志表明了该选项是否为启用或禁止类型,0 - 禁止,非0 - 启用

 级别

 选项名

 get

 set

 说明

 标志

 数据类型

 SOL_SOCKET SO_BROADCAST * * 开启或禁止进程发送广播消息的能力,只适用于UDP套接口,如果目的地址为一个广播地址且本套接口选项没有设置,则返回EACCES错误 * int
  SO_DEBUG * * 只适用于TCP套接口,对套接口发送和接受的报文保留详细跟踪信息,可使用trpt程序进行查看 * int
  SO_DONTROUTE * * 对发出的报文不查询路由表,直接通过目的地址的网络地址确定本地接口后发送,如果无法由目的地址确定(即不在一个点到点链路或共享网络),则返回ENETUNREACH错误 * int
  SO_ERROR *  当socket发生错误时,可以同访问SO_ERROR套接口选项获取该错误值(保存在so_error中),读取后so_error被复位为0,该错误被称为待处理错误(pending error)  int
  SO_KEEPALIVE * * 适用于TCP套接口,启用或禁止2小时内未收到任一方向上的数据则发送保活探测报文 * int
  SO_LINGER * *

 指定close函数对面向连接协议(如TCP和SCTP)如何操作,缺省操作是close函数立即返回,如果发送缓冲区有数据,则尝试发送给对端。SO_LINGER选项可以改变此设置。

如果l_onoff为0,使用缺省设置。

如果l_onoff为非0且l_linger为0,则丢弃发送缓冲区中的数据并发送一个RST给对端,没有通常的四次握手终止连接

如果l_onoff为非0且l_linger为非0,则当套接口关闭时内核将拖延一段时间,如果发送缓冲区有数据,进程将被阻塞,知道所有数据发送玩且均被对方确认或延滞时间到。如果套接口为非阻塞型,那么它将不等待close完成,即使l_linger为非0。

 

 sturct linger {

   int l_onoff;

   int l_linger;

}

  SO_OOBINLINE * * 开启时,带外数据将被留在正常的输入队列中。这种情况下接收函数的MSG_OOB标志不能用来读带外数据。 * int
  SO_RCVBUF * *  改变接收缓冲区的缺省大小,对于TCP客户端的接受缓冲区大小必须在调用connect之前设置;对于TCP服务器端必须在调用listen之 前给套接口设置,新建的已连接套接口从监听套接口继承缓冲区大小。TCP缓冲区大小至少应是相应连接的MSS值的四倍,且为MSS值的偶数倍。  int
  SO_SNDBUF * * 改变发送缓冲区的缺省大小,同上  int
  SO_RCVLOWAT * * 改变接收低潮标记,即select返回套接口接收缓冲区可读所需的数据量,对于TCP、UDP、SCTP套接口,缺省为1   int
  SO_SNDLOWAT * * 改变发送低潮标记,即select返回套接口发送缓冲区可写所需的可用空间  int
  SO_RCVTIMEO * * 改变套接口接收的超时值,时间为0代表不超时  struct timeval
  SO_SNDTIMEO * * 改变套接口发送的超时值,时间为0代表不超时  struct timeval
  SO_REUSEADDR * * 允许启动一个监听服务器并捆绑众所周知端口,即使以前在此端口上建立的连接仍存在;允许完全重复的捆绑:即当一个IP地址和端口已绑定到某个套接口上时,如果传输协议支持,同样的IP和端口还可以捆绑到另一个套接口上,一般来说仅支持UDP套接口。 * int
  SO_REUSEPORT * * 允许完全重复的捆绑(如上详述),不过只有在想要捆绑同一IP地址和端口的每一个套接口都启用本选项才行;如果被捆绑的IP地址是一个多播地址,那么SO_REUSEADDR和SO_REUSEPORT被认为等效 * int
  SO_TYPE *  获得套接口的类型,如SOCK_STREAM或SOCK_DGRAM  int
  SO_USELOOPBACK * * 只适用于路由域套接口,开启时,相应套接口将接收在其上发送的任何数据报的一份拷贝 * int
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
 
 

#include <sys/socket.h>

/*
 * 获得套接口选项
 * 参数: sockfd - 套接字,level - 级别,optname - 选项名,optval - 值,optlen - 值的大小
 * 返回: 0 - 成功,-1 - 失败
 */

int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen);

/*
 * 设置套接口选项
 * 参数: sockfd - 套接字,level - 级别,optname - 选项名,optval - 值,optlen - 值的大小
 * 返回: 0 - 成功,-1 - 失败
 */

int setsockopt(int sockfd, int level, int optname, const void *optval, socklen_t *optlen);

套接字控制操作

 控制操作

 命令

 参数

 返回

 设置套接口为非阻塞I/O型 F_SETFL O_NONBLOCK 成功 - 0,失败 - -1
 设置套接口为信号驱动I/O型 F_SETFL O_ASYNC 
 获得套接口文件标志 F_GETFL 0 成功 - 文件标志,失败 - -1
 设置套接口拥有者,用于接收SIGIO和SIGURG信号 F_SETOWN 进程ID或进程组ID 成功 - 0,失败 - -1
 获得套接口拥有者 F_GETOWN 0 成功 - 进程ID或进程组ID,失败 - -1

#include <fcntl.h>

/*
 * 套接字控制操作
 * 参数:fd - 套接字,cmd - 命令
 * 返回:依赖cmd(见上表)
 */

int fcntl(int fd, int cmd, .../* int arg */);

 
UDP套接口函数
 
 
#include <sys/socket.h>

/*
 * 接收UDP报文
 * 参数:
        sockfd - 套接字
        buff - 指向接收缓存的地址
        nbytes - 接收字节数
        flags -
        from - 返回UDP报文发送者的套接口地址
        addrlen - 返回from套接口地址的大小
 * 返回:成功返回接收的字节数,出错返回-1
 */

ssize_t recvfrom(int sockfd, void *buff, size_t nbytes, int flags, struct sockaddr *from, socklen_t *addrlen);

/*
 * 发送UDP报文
 * 参数:
        sockfd - 套接字
        buff - 指向发送缓存的地址
        nbytes - 发送字节数
        flags -
        to - UDP报文接收者的套接口地址
        addrlen - to套接口地址的大小
 * 返回:成功返回发送的字节数,出错返回-1
 */

ssize_t sendto(int sockfd, void *buff, size_t nbytes, int flags, const struct sockaddr *to, socklen_t addrlen);
Linux C函数编程手册(中文版):一站式参考及实战指南 本文还有配套的精品资源,点击获取 简介:C语言作为Linux系统级编程的核心语言,其丰富的函数库是开发的基础。这份“Linux的C函数手册.中文版.解压即用版”为开发者提供了Linux环境下C语言函数的详尽参考,包括标准库函数、文件操作、进程控制、网络编程、内存管理、错误处理、信号处理、线程与同步以及系统调用等。手册不仅解释了每个函数的使用方法,还通过实例展示了实际编程应用... 阅读详情

相关推荐

从Shell命令到跨平台网络编程:Linux与Windows的socket实现

本篇博客深入探讨了Linux和Windows环境下socket编程的细节和差异。从Linux的man手册使用开始,逐渐过渡到Windows的MSDN文档库,再到跨平台编程中socket函数的使用注意事项和关键差异。文章通过代码示例和API细节分析,为读者揭示了TCP网络通信的基础流程和设计跨平台网络通信库时应考虑的问题。

weixin_42360733的博客 312

c语言可重入函数socket,线程可重入与线程安全

很多人纠结于reentrance和thread-safe两个概念理解纠缠不清。我想救我对reentrance和thread-safe的理解作个总结一、可重入(reentrance)首先来看下APUE中,列出的可重入函数:acceptfchmodlseeksendtostataccessfchownlstatsetgidsymlinkaio_errorfcntlmkdirsetpgidsysconf...

weixin_33918262的博客 1509

linux 套接字 socket 函数 手册

linux套接字socket()编程手册,讲的比较详细,叙述了各个函数的参数以及功能……

VC中IP地址控件的赋值与取值

一、CIPAsressCtr初始化代码只能写在OnInitDialog()中 #include //把CString表示的IP地址写到IP Address里面 CString strIP="192.168.0.17";  DWORD dwIP=ntohl(inet_addr(strIP));  m_IP.SetAddress(dwIP); //读取IP Address的内

yangyigen的专栏 1万+

Socket常用函数大全

参考资料,很好的大全书.

数字后端流程--place

Floorplan完成后芯片的大致框架已经出现,万里长征已经迈出特别重要的第一步了,前面的步骤我们已经完成了io port,macro的摆放,现在core外只剩下std cell(标准单元)了,Place这一步就是要把std cell放进core里。看到密密麻麻的std cell也不用紧张,因为放std cell不用像macro手动一个一个摆,工具就可以帮我们完成大部分工作。虽然这一步的工作只有一个,但也不是只要Place完就能进行下一步的,衡量Place质量是否满足标准会通过以下几点判断。

qq_68400574的博客 771

socket知识:

inet_addr(),inet_aton() 点分十进制转换为网络字节序。种状态(如上面的ESTABLISHED状态和CLOSE_WAIT状态),更不关。send成功时返回实际写入的数据的长度,失败则返回-1并设置errno。//ipv4网络字节序地址。backlog:半连接和和全连接状态的socket的上限。注意:客户端不需要命名,服务端需要命名,因为命名才能被连接。

m0_64899535的博客 252

基于WebGL架构的3D可视化平台—平面图导航(一)

前言 利用CampusBuilder来搭建自己的虚拟世界过程有这样一个问题:如何快速聚焦到虚拟场景的某一位置。当然我们可以创建几个按钮对应查找我们需要去的位置(参照物)并聚焦,但是按钮并不是很炫酷也不能很好的反馈给我们一些信息。接下来我们就用平面导航图来解决这一问题。 第一步:使用CampusBuilder搭建模拟场景,CampusBuilder操作简单,分分钟就可以上手。 ...

nioooom的博客 4163

板凳------56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍

监听socket(sockfd)会保持打开状态,并且可以被用来接受后续的连接,一个典型的服务器应用程序会创建一个监听socket,将其绑定到一个众所周知的地址上,然后通过接受该socket上的连接来处理所有客户端请求。这是因为:当函数被调用时,结构大小是一个值(value, 此值告诉内核该结构的大小,使内核在写此结构时不至于越界),当函数返回时,结构大小又是一个结果(result,它告诉进程内核在此结构中确切存储了多少信息),这种参数叫做值-结果参数(value-result)。

fengye207161的博客 1050

告别里程焦虑:手把手教你用MATLAB/Simulink仿真电动车AMT换挡规律(附代码)

本文详细介绍了如何使用MATLAB/Simulink仿真电动车AMT换挡规律,帮助解决里程焦虑问题。通过搭建完整的仿真系统,包括电机MAP图处理、Stateflow逻辑实现和动力性与经济性换挡曲线生成,优化电动车换挡策略以提升续航与性能。附带的代码示例和实用技巧使开发者能够快速上手并验证仿真结果。

weixin_26757925的博客 306

Windows10开机无限蓝屏(SrtTrail.txt)

这个问题已经有很多的大佬发过解决办法了,这里仅仅作为自己日后方便查找所写文章 无法开机——自动修复失败,报SrtTrail.txt文件错误,且陷入无限蓝屏的循环 事故 故事的起因是这样的: 开开心心的组装电脑,花了几天时间来配置,然后发现USB3.0的接口太少,于是在某宝上搞到一张pcie转7口USB3.0的转接卡,往电脑上一插 插电,开机,电流轻松跑上去 然后,它和原来的磁盘阵列卡冲突,跳过阵列卡自检直接进入系统,boom,就导致了这场悲剧 解决方法 在蓝屏的界面找到:疑难解答->通过命令提示符 使

Holo__的博客 3万+

socket 函数手册

struct sockaddr_in { uint8_t sin_len; /* length of structure (16) */ sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; /* 16-bit TCP or UDP port number */

nicholasni的专栏 319

iPhone用户必看:TrollStore巨魔商店在线安装保姆级教程(iOS 14-16.6.1适用)

本文为iOS 14至16.6.1系统的iPhone用户提供了一份详细的TrollStore(巨魔商店)在线安装教程。文章从核心原理、安装前准备讲起,逐步详解了通过Safari浏览器获取安装器、信任企业证书、部署TrollStore及关键后置配置的全过程,并附带了常见问题排错指南,帮助用户安全、高效地实现无需越狱安装第三方应用。

h0i1j2k3l的博客 1991

socket send函数系列,彻底弄懂socket发送函数,可做参考手册

套接字发送函数系列,全面比较socket编程所有发送函数,通过对比学习方式,让初学者彻底理解socket发送函数作用。

weixin_28673511的博客 5070

【实用运维脚本】Windows 批量 TCP 端口检测(tcping 一键巡检)

摘要:本文介绍一款高效的Windows批量TCP端口检测脚本,适配tcpingv0.39工具,实现多服务器一键巡检。脚本具有进度可视化、双日志输出、自动容错等优势,支持注释行过滤和UTF-8编码。 使用仅需三步: 1)下载tcping工具 2)编辑目标列表 3)运行脚本即可自动检测并生成带编号的检测报告。 该方案解决了手动检测效率低、易遗漏的问题,特别适合日常运维中的端口连通性检查,实测稳定可靠,开箱即用。

蕲士|D365 & 服务器运维,心有东坡,行稳致远。 798

YOLO26改进策略【Neck】| CVPR2025 LCA轻量交叉注意力 跨层级双向引导 + 分层降噪增强,提升微小目标特征表达

简单相加、拼接融合无法建立深浅层双向约束关系,浅层微小目标易被深层背景覆盖,深层全局信息难以修正浅层噪声;普通单路自注意力仅单一层内建模依赖,缺少跨层级特征互引导机制,深浅特征信息割裂;标准多头跨注意力计算量大、参数量高,轻量化单模态检测/分割网络部署困难,无法区分前景目标与背景噪声。为此设计单模态轻量化交叉注意力LCA,构建浅层细节、深层语义双分支双向引导结构,轻量完成跨层级特征交互,同步降噪并强化单模态微小目标特征。

Limiiiing的博客 523

Linux Socket函数手册(二)

1) int accept(int s,struct sockaddr * addr,int * addrlen); 函数说明 accept()用来接受参数s的socket连线。参数s的socket必需先经bind()、listen()函数处理过,当有连线进来时 accept()会返回一个新的socket处理代码,往后的数据传送与读取就是经...

weixin_34090562的博客 259

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Linux socket函数 编程手册 重点分析三

Netlink 是一种特殊的 socket,它是 Linux 所特有的,类似于 BSD 中的AF_ROUTE 但又远比它的功能强大,目前在最新的 Linux 内核(2.6.14)中使用netlink 进行应用与内核通信的应用很多,包括:路由 daemon(NETLINK_ROUTE),1-wire 子系统(NETLINK_W1),用户态 socket 协议(NETLINK_USERSOCK),防火

dean_gdp的专栏 742

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Linux socket函数 编程手册 重点分析二

今天实例分析socket AF_UNIX:

dean_gdp的专栏 817

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Linux socket函数 编程手册 重点分析一

man socket可以得到socket函数的编程手册,针对

dean_gdp的专栏 812

socket recv函数系列,recv,recvfrom,recvmsg,一文彻底弄懂,可作参考手册

文件描述符接收函数,可用于套接字批量接收操作接收。套接字接收函数,能够获取对端套接字地址信息。图 2 struct msghdr结构体解析。文件描述符接收函数,可用于套接字接收。套接字批量接收函数。

木牛的博客 1336

Linux 更新man说明手册,man中文手册

新安装的centos7,发现man手册不完全。

ALex_zry的博客 1787
上一篇: 从kernel和其他opensource 扒出来的常见的宏
下一篇: pthread函数的错误检查机制
nevercgoodbye
博客等级 码龄18年 6粉丝 23原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值