标签:type font 顺序 desc hit 输出 packet inet6 进程间通信
int socket(int addressfamily, int type, int protocol);
adress family种类 | 功能描述 |
---|---|
AF_INET | IPV4用socket |
AF_INET6 | IPV6用socket |
AF_UNIX | 本地进程间通信用socket,也叫AF_LOCAL |
AF_PACKET | driver lebel socket的接口 |
type 种类 | 功能描述 |
---|---|
SOCK_STREAM | 保证有序,都能到达。双向的byte stream |
SOCK_DGRAM | 不保证连接,顺序,支持data的最大固定长度 |
socket种类 | 数据是否一定送达 | 数据到达顺序 | 一次送信的数据量的大小 |
---|---|---|---|
SOCK_STREAM | 一定 | 按发送顺序 | 没有大小限制 |
SOCK_DGRAM | 不一定 | 有可能不是发送顺序 | 有大小限制 |
sudo cat /etc/protocols
整数值 | 名字 | 说明 |
---|---|---|
0 | stdin | 标准输入 |
1 | stdout | 标准输出 |
2 | stderr | 标准错误输出 |
int sock = socket(AF_INET, SOCK_STREAM, 0);
if(sock < 0){
cout << "socket 建立失败" << endl;
return -1;
}
int main(){
int sock;
cout << "fileno(stdin): " << fileno(stdin) << endl;
close(0);
sock = socket(AF_INET, SOCK_DGRAM, 0);
cout << sock << endl;
}
man 函数名字
会得到类似下面的结果,比如
man socket
再比如
man malloc
从图片中可以看出:
标签:type font 顺序 desc hit 输出 packet inet6 进程间通信
原文地址:https://www.cnblogs.com/xiaoshiwang/p/9747474.html