首页 > 代码库 > socket
socket
http://zh.wikipedia.org/wiki/Berkeley%E5%A5%97%E6%8E%A5%E5%AD%97
socket本身是建立套接字所使用到的一个函数;
socket()
创建一个新的确定类型的套接字,类型用一个整型数值标识(文件描述符),并为它分配系统资源。socket()
为通讯创建一个端点,为套接字返回一个文件描述符socket() 有三个参数:
- domain 为创建的套接字指定协议集。 例如:
AF_INET
表示IPv4网络协议AF_INET6
表示IPv6AF_UNIX
表示本地套接字(使用一个文件)
- type 如下:
SOCK_STREAM
(可靠的面向流服务或流套接字)SOCK_DGRAM
(数据报文服务或者数据报文套接字)SOCK_SEQPACKET
(可靠的连续数据包服务)SOCK_RAW
(在网络层之上的原始协议)
- protocol 指定实际使用的传输协议。 最常见的就是
IPPROTO_TCP
、IPPROTO_SCTP
、IPPROTO_UDP
、IPPROTO_DCCP
。这些协议都在<netinet/in.h>中有详细说明。 如果该项为“0
”的话,即根据选定的domain和type选择使用缺省协议。
如果发生错误,函数返回值为-1。 否则,函数会返回一个代表新分配的描述符的整数。
- 原型:
int socket(int domain, int type, int protocol);
Socket实质上提供了进程通信的端点。进程通信之前,双方首先必须各自创建一个端点,否则是没有办法建立联系并相互通信的。
- domain 为创建的套接字指定协议集。 例如:
socket
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。