socket函数介绍
发布日期:2021-07-01 04:29:04
浏览次数:2
分类:技术文章
本文共 902 字,大约阅读时间需要 3 分钟。
文章目录
1 socket函数介绍
#include/* See NOTES */#include int socket(int domain, int type, int protocol);
domain:
- AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址
- AF_INET6 与上面类似,不过是来用IPv6的地址
- AF_UNIX 本地协议,使用在Unix和Linux系统上,一般都是当客户端和服务器在同一台及其上的时候使用
type:
- SOCK_STREAM 这个协议是按照顺序的、可靠的、数据完整的基于字节流的连接。这是一个使用最多的socket类型,这个socket是使用TCP来进行传输。
- SOCK_DGRAM 这个协议是无连接的、固定长度的传输调用。该协议是不可靠的,使用UDP来进行它的连接。
- SOCK_SEQPACKET该协议是双线路的、可靠的连接,发送固定长度的数据包进行传输。必须把这个包完整的接受才能进行读取。
- SOCK_RAW socket类型提供单一的网络访问,这个socket类型使用ICMP公共协议。(ping、traceroute使用该协议)
- SOCK_RDM 这个类型是很少使用的,在大部分的操作系统上没有实现,它是提供给数据链路层使用,不保证数据包的顺序
protocol:
- 传0 表示使用默认协议。
返回值:
- 成功:返回指向新创建的socket的文件描述符。
- 失败:返回-1,设置errno。
socket()打开一个网络通讯端口,如果成功的话,就像open()一样返回一个文件描述符,应用程序可以像读写文件一样用read/write在网络上收发数据,如果socket()调用出错则返回-1。对于IPv4,domain参数指定为AF_INET。对于TCP协议,type参数指定为SOCK_STREAM,表示面向流的传输协议。如果是UDP协议,则type参数指定为SOCK_DGRAM,表示面向数据报的传输协议。protocol参数的介绍从略,指定为0即可。
参考资料:
转载地址:https://muzimin.blog.csdn.net/article/details/107689503 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
很好
[***.229.124.182]2024年05月02日 16时45分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
一劳永逸的解除ByondCompare4注册问题
2019-05-02
Unix环境变量--文件操作
2019-05-02
Unix环境变量--进程管理
2019-05-02
Unix环境变量--信号(一)
2019-05-02
Unix环境变量--线程基础
2019-05-02
Unix环境变量--缓冲区
2019-05-02
Unix环境变量--堆和栈的区别
2019-05-02
Unix环境变量--POSIX异步I/O
2019-05-02
UNIX环境变量--读写函数变体
2019-05-02
UNIX环境变量--存储映射I/O
2019-05-02
UNIX环境变量--IPC之管道通信
2019-05-02
C++虚继承【详解】
2019-05-02
tinyhttpd源码学习1
2019-05-02
Plus One
2019-05-02
Linux内核完全剖析0.12(一)
2019-05-02
Sum Root to Leaf Numbers
2019-05-02
Pascal's Triangle
2019-05-02
ffmpeg提取音频存为PCM
2019-05-02
我也学android(1)搭个环境
2019-05-02
Reverse Linked List II
2019-05-02