当前位置:网站首页>Simply sort out the types of sockets
Simply sort out the types of sockets
2022-07-05 05:35:00 【Raise items】
List of articles
After this period of time to learn network programming , I found that there are many types of sockets , Not only
TCP
and UDP
So simple , This article is simple socket The type of . socket system call
adopt establish socket The system call interface of can see the kernel pair socket The classification of .
// #include <sys/socket.h>
int socket(int domain, int type, int protocol);
Parameters
adopt domain
、type
and protocol
These three parameters can only Identify a socket
. So it's OK to socket do Three dimensions The classification of .
domain
This parameter specifies Protocol family . There are several values in total :
PF_LOCAL Host-internal protocols, formerly called PF_UNIX,
PF_UNIX Host-internal protocols, deprecated, use PF_LOCAL,
PF_INET Internet version 4 protocols,
PF_ROUTE Internal Routing protocol,
PF_KEY Internal key-management function,
PF_INET6 Internet version 6 protocols,
PF_SYSTEM System domain,
PF_NDRV Raw access to network device,
PF_VSOCK VM Sockets protocols
There are three kinds of commonly used :
PF_INET
:ipv4 Type of socket, Use ipv4 network address + Port number identification socket The address of , Used for communication between hosts .PF_INET6
:ipv6 Type of socket, Use ipv6 network address + Port number identification socket The address of , Used for communication between hosts .PF_LOCAL
: Local socket, Use The absolute pathname of a file identification socket Address , Used between different processes on the same host , It's a kind ofIPC
methods ( It is equivalent to two processes passing Share a file Achieve communication ). The socket It uses Simplified network protocol stack , So the performance is high .
The protocol family determines , The address family is determined .
structure socket The address of when , To specify Address family (AF_xxx
),AF_xxx
andPF_xxx
Is the corresponding .
usePF_xxx
Such a value to createsocket
, useAF_xxx
Such a value to constructsocket
The address of .
type
This parameter specifies Semantics of communication . There are three values :
SOCK_STREAM
SOCK_DGRAM
SOCK_RAW
SOCK_STREAM
: Byte stream type , Provide Orderly 、 reliable 、 There is a connection 、 Based on byte stream Communication mechanism .SOCK_DGRAM
: Datagram type , Provide The maximum length is fixed 、 There is no connection 、 unreliable Communication mechanism .SOCK_RAW
: original socket type , Provide right Internal network protocols and interfaces The interview of , Available only for super users . Raw socket It can be handled without the network protocol stack , Direct access to the network card , Send the message constructed by the user process .
protocol
This parameter specifies socket The specific protocol to be used in communication .
When the first two parameters Cannot uniquely identify One Specific network communication protocol when , Will use protocol
Specify a specific agreement .
Return value
This function returns a socket The descriptor , Return... On failure -1
.
stay Linux Inside , Everything is a document ,socket No exception .
socket system call <----> open system call
socket The descriptor <----> File descriptor
adopt socket send data <----> The document says
adopt socket receive data <----> File read
summary
domain
Specifies the protocol family . Address families are also specified , namely socket Address type of .type
Specifies the communication semantics .protocol
Specify the specific communication protocol .
边栏推荐
- Acwing 4300. Two operations
- [article de jailhouse] jailhouse hypervisor
- YOLOv5添加注意力機制
- Zzulioj 1673: b: clever characters???
- 26、 File system API (device sharing between applications; directory and file API)
- 智慧工地“水电能耗在线监测系统”
- 搭建完数据库和网站后.打开app测试时候显示服务器正在维护.
- [to be continued] [UE4 notes] L2 interface introduction
- [jailhouse article] look mum, no VM exits
- 个人开发的渗透测试工具Satania v1.2更新
猜你喜欢
Introduction to tools in TF-A
Talking about JVM (frequent interview)
Using HashMap to realize simple cache
2017 USP Try-outs C. Coprimes
Yolov5 ajouter un mécanisme d'attention
sync. Interpretation of mutex source code
剑指 Offer 04. 二维数组中的查找
In this indifferent world, light crying
CCPC Weihai 2021m eight hundred and ten thousand nine hundred and seventy-five
To be continued] [UE4 notes] L4 object editing
随机推荐
2017 USP Try-outs C. Coprimes
sync.Mutex源码解读
记录QT内存泄漏的一种问题和解决方案
Developing desktop applications with electron
剑指 Offer 05. 替换空格
Haut OJ 1316: sister choice buys candy III
Alu logic operation unit
Chapter 6 data flow modeling - after class exercises
剑指 Offer 06.从头到尾打印链表
全国中职网络安全B模块之国赛题远程代码执行渗透测试 //PHPstudy的后门漏洞分析
Pointnet++的改进
Sword finger offer 05 Replace spaces
注解与反射
Codeforces round 712 (Div. 2) d. 3-coloring (construction)
Reader writer model
剑指 Offer 04. 二维数组中的查找
Talking about JVM (frequent interview)
[binary search] 34 Find the first and last positions of elements in a sorted array
ALU逻辑运算单元
Maximum number of "balloons"