首页 > 其他 > 详细

socekt

时间:2020-07-26 14:31:01      阅读:71      评论:0      收藏:0      [点我收藏+]

NAME

  socket - create an endpoint for communication

SYNOPSIS
  #include <sys/types.h>

  #include <sys/socket.h>

  int socket(int domain, int type, int protocol)

DESCRIPTION

  socket()为通信创建一端点(endpoint)并且返回一个指向这个端点的文件描述符。成功调用返回的文件描述符将是当前未为该进程打开的最小编号的文件描述符。

    domain参数指定一个通信域(a communication domain)。这个参数选择将用于通信的协议族(protocol family)。这些协议族在<sys / socket.h>中定义。 当前的定义格式包括:

Name Purpose
AF_UNIX,AF_LOCAL Local communication
AF_INET  
AF_INET6  
AF_IPX  
AF_NETLINK  
AF_X25  
AF_AX25  
AF_ATMPVC  
AF_APPLETALK  
AF_PACKET  
AF_ALG  

 

  type参数指定通信语义。 当前定义的类型是:

         

SOCK_STREAM SOCK_DGRAM SOCK_SEQPACKET SOCK_RAW SOCK_RDM SOCK_PACKET

   注意:某些套接字类型可能并非所有协议族都已经实现。

  

   protocol参数指定用于这个socket的特定协议。通常,在给定协议系列中,只有一个协议可以支持特定的套接字类型,在这种情况下,protocol参数可以指定为0。但是,可能存在许多协议,在这种情况下,必须以这种方式指定特定协议。有关如何将协议名称字符串映射到协议编号,请参见getprotoent(3)。

RETURN VALUE

       成功后,将返回新套接字的文件描述符。如果出错,则返回-1,并正确设置errno

ERRORS

EACCES 拒绝创建一个指定类型(type)或者协议(protocol)的socket。
EAFNOSUPPORT  
EINVAL 未知协议或协议族不可用。
EINVAL 无效的的tyep标示。
EMFILE 已达到每个进程对打开文件描述符数量的限制。
ENFILE 已达到打开文件总数的系统范围限制。
ENOBUFS or ENOMEM 可用的内存不足。 只有释放足够的资源后才能创建套接字。
EPROTONOSUPPORT 这个域(domain)不支持协议类型或指定的协议。

         

 

 

socekt

原文:https://www.cnblogs.com/iuyy/p/13379451.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!