首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >值0的套接字类型是什么类型?

值0的套接字类型是什么类型?
EN

Stack Overflow用户
提问于 2021-01-24 16:37:22
回答 1查看 170关注 0票数 1

我在0中看不到值的套接字类型

socket_type.h

代码语言:javascript
复制
/* Types of sockets.  */
enum __socket_type
{
  SOCK_STREAM = 1,      /* Sequenced, reliable, connection-based
                   byte streams.  */
#define SOCK_STREAM SOCK_STREAM
  SOCK_DGRAM = 2,       /* Connectionless, unreliable datagrams
                   of fixed maximum length.  */
#define SOCK_DGRAM SOCK_DGRAM
  SOCK_RAW = 3,         /* Raw protocol interface.  */
#define SOCK_RAW SOCK_RAW
  SOCK_RDM = 4,         /* Reliably-delivered messages.  */
#define SOCK_RDM SOCK_RDM
  SOCK_SEQPACKET = 5,       /* Sequenced, reliable, connection-based,
                   datagrams of fixed maximum length.  */
#define SOCK_SEQPACKET SOCK_SEQPACKET
  SOCK_DCCP = 6,        /* Datagram Congestion Control Protocol.  */
#define SOCK_DCCP SOCK_DCCP
  SOCK_PACKET = 10,     /* Linux specific way of getting packets
                   at the dev level.  For writing rarp and
                   other similar things on the user level. */
#define SOCK_PACKET SOCK_PACKET

  /* Flags to be ORed into the type parameter of socket and socketpair and
     used for the flags parameter of paccept.  */

  SOCK_CLOEXEC = 02000000,  /* Atomically set close-on-exec flag for the
                   new descriptor(s).  */
#define SOCK_CLOEXEC SOCK_CLOEXEC
  SOCK_NONBLOCK = 00004000  /* Atomically mark descriptor(s) as
                   non-blocking.  */
#define SOCK_NONBLOCK SOCK_NONBLOCK
};

但是,如果我没有指定addrinfo struct字段ai_socktype,怎么办?值是0,当__socktype_type中没有这类类型时,该类型是哪种类型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-24 16:44:20

0用于ai_socktype意味着“任意类型”。

手册页getaddrinfo

代码语言:javascript
复制
 The hints argument points to an addrinfo structure that specifies
       criteria for selecting the socket address structures returned in
       the list pointed to by res.  If hints is not NULL it points to an
       addrinfo structure whose ai_family, ai_socktype, and ai_protocol
       specify criteria that limit the set of socket addresses returned
       by getaddrinfo(), as follows:

       [...]

       ai_socktype
              This field specifies the preferred socket type, for
              example SOCK_STREAM or SOCK_DGRAM.  Specifying 0 in this
              field indicates that socket addresses of any type can be
              returned by getaddrinfo().

“在此字段中指定0表示getaddrinfo()可以返回任何类型的套接字地址。”

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65873180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档