浅析Socket

Socket

  最近用Python语言做服务端开发,看了一下 socket类的 init函数,发现有3个参数,分别是 famil,type,proto。对famialtype 参数 感到有些陌生,于是重新查询了一下Socket 方面的资料,在这里做一下记录。
  wiki上面的socket解释

Network Socket 是电脑网络中 进程中数据流的断定。在操作系统中,会提供为应用程序提供一组 应用程序接口(API),称为 socket API。应用程序可以通过 socket API来使用 Network socket 以进行 数据交换

  简单的描述,就是 socket 是实现进程间数据交换的一种方式
  socket 起源于20世纪70年代,是加利福尼亚大学的伯克利版本UNIX的一部分。socket 最初是为同一主机上的应用程序锁创建,使得主机上的一个程序和另一个程序进行通行(进程间通信),。

Family(协议族)

  Family 代表着 socket的类型,包括 AF_INETAF_INET6AF_UNIXAF_ROUTE, 协议族定义了 socket 的地址类型,两个进程要通信,总得有唯一的标识能够让对方能够找到, AF_INETAF_INET6,其实就是常见的IPv4、IPv6地址,AF_UNIX 是 unix 系统上 用于 本机进程间通信的方式,它是基于文件的,这种方式在 unix系统上很常见。在网络编程中 比较常用的 当然是 AF_INET了。

type

  type 就是 socket 的类型,常用的socket类型有SOCK_STREAMSOCK_DGRAMSOCK_RAWSOCK_PACKETSOCK_SEQPACKET等。流式Socket(SOCK_STREAM)是一种面向连接的Socket,针对于面向连接的TCP服务应用。数据报式Socket(SOCK_DGRAM)是一种无连接的Socket,对应于无连接的UDP服务应用

protocol

  socket协议。常用协议有IPPROTO_TCPIPPROTO_UDPIPPROTO_STCPIPPROTO_TIPC等,分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。

简单说udp tcp ip

  经常见到 TCP/IP UDP/IP 这样的关键词组合,tcp,udp 决定了数据的传输方式,而 IP 标识了 传输的地址,即你的数据包到底要输出给 互联网上的哪一台主机上。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Unix domain socket是一种特殊的socket,它不需要使用传统的IP地址和端口,而是使用文件系统来进行程序之间的数据交互。它是在socket架构上发展起来的,用于同一台主机的进程间通讯(IPC: Inter-Process Communication)。与传统的网络socket不同,Unix domain socket不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。Unix domain socket有两种工作模式,即SOCK_DGRAM和SOCK_STREAM,类似于UDP和TCP,但是面向消息的Unix domain socket也是可靠的,消息既不会丢失也不会顺序错乱。\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [网络协议之:socket协议详解之Unix domain Socket](https://blog.csdn.net/superfjj/article/details/123990439)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [unix domain socket 浅析](https://blog.csdn.net/u013637931/article/details/111185257)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卓修武

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值