当前位置: 首页 > news >正文

【服务器通信-socket】——int socket(int domain, int type, int protocol);

#include <sys/types.h>

#include <sys/socket.h>

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即可

http://www.xdnf.cn/news/253045.html

相关文章:

  • LangChain入门(五)AI记住聊天历史
  • Android基础控件用法介绍
  • 报文三次握手对么٩(๑^o^๑)۶
  • 开源ERP系统对比:Dolibarr、ERPNext与Odoo
  • 【每日八股】复习 Redis Day5:集群(上)
  • 云原生后端:构建高效、可扩展的现代后端架构
  • HBM的哪些事
  • 【凑修电脑的小记录】vscode打不开
  • React useCallback函数
  • 从爬虫到网络---<基石3> gfw防火墙是怎么保护我们的?
  • Linux系统:进程程序替换以及相关exec接口
  • CMake separate_arguments用法详解
  • Trae 安装第三方插件支持本地部署的大语言模型
  • Matlab自学笔记
  • 姜老师MBTI人格分析课程2:ENFP
  • 标准解读:《制造业质量管理数字化实施指南(试行)》【附全文阅读】
  • 个人健康中枢的多元化AI软件革新与精准健康路径探析
  • #以梦为楫,共航中医传承新程
  • CPU:AMD的线程撕裂者(Threadripper)和霄龙(EPYC)的区别
  • C++八股--three day --设计模式之单例和工厂
  • UE运行游戏时自动播放关卡序列
  • 深度学习笔记40_中文文本分类-Pytorch实现
  • 大数据面试问答-数据湖
  • 阿里云服务器 篇五(加更):短链服务网站:添加反垃圾邮件功能
  • 多模态大语言模型arxiv论文略读(五十五)
  • Python爬虫实战:获取好大夫在线各专业全国医院排行榜数据并分析,为患者就医做参考
  • sys目录介绍
  • C++11新特性_标准库_正则表达式库
  • 数据分析_问题/优化
  • Mysql数据库之基础管理