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

Linux之Socket函数(详细篇)

本篇是基于Linux man手册的一些总结

socket作用: create an endpoint for communication

函数结构

```c
#include <sys/types.h>          /* See NOTES */
#include <sys/socket.h>
int socket(int domain, int type, int protocol);
```

描述


socket() 创建一个通信端点并返回一个引用该端点的文件描述符。 成功调用返回的文件描述符将是当前未为进程打开的最小编号的文件描述符。

参数


- domain
    AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址。
    AF_INET6 与上面类似,不过是来用IPv6的地址。
    AF_UNIX 本地协议,使用在Unix和Linux系统上,一般都是当客户端和服务器在同一台及其上的时候使用。
    还有一些不常用的AF_LOCAL,AF_AX25,AF_IPX等

- 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.lryc.cn/news/165816.html

相关文章:

  • Dajngo06_Template模板
  • 快速幂 c++
  • 分享一个基于微信小程序的医院口腔助手小程序 牙科诊所预约小程序 源码 lw 调试
  • Si3262 一款低功耗刷卡+触摸+mcu 三合一SOC芯片
  • [H5动画制作系列] 奔跑的豹子的四种Demo演化
  • 如何实现让一个函数能返回多个值的效果
  • End-to-end 3D Human Pose Estimation with Transformer
  • 状态管理Pinia
  • maven运行报错解决
  • 在线会计软件推荐:高效实用的选择解析
  • vue监听Enter键
  • ADS中带通滤波器模型参数含义学习笔记
  • 【Blender】Blender入门学习
  • Redis 三种特殊的数据类型 - Geospatial地理位置 - Hyperloglog基数统计的算法 - Bitmaps位图(位存储)
  • Python web 框架web.py「简约美」
  • Bootstrap 重新数据查询时页码为当前页问题
  • scratch舞蹈比赛 2023年5月中国电子学会图形化编程 少儿编程 scratch编程等级考试四级真题和答案解析
  • windows下安装redis扩展库
  • 大数据平台数据安全具体措施有哪些?有推荐的吗?
  • 基于SSM的健康综合咨询问诊平台设计与实现
  • 每日一题 2596. 检查骑士巡视方案
  • 第二章 进程与线程 三、进程控制
  • 【云原生进阶之PaaS中间件】第二章Zookeeper-3.2架构详解
  • K8S:kubectl陈述式、声明式资源管理及金丝雀部署
  • docker容器日志管理
  • Oracel ORA-22992 错误的解决方法
  • CrossOver 23 正式发布:可在 Mac 上运行部分 DX12 游戏
  • 一、Mediasoup源码介绍
  • ⑧ 嵌套路由配置
  • 【ppt技巧】将幻灯片里的图片背景设置为透明