套接字

套接字(socket)最早是由BSD在1982年引入的通信机制,目前已被广泛移植到主流的操作系统中。对于应用开发人员来说,套接字(socket)是一种特殊的I/O接口,也是一种文件描述符。socket是一种常用的进程之间通信机制,不仅能实现本地不同进程之间的通信,而且通过网络能够在不同主机的进程之间进行通信。
对于网络通信而言,每一个socket都可用网络地址结构(协议、本地地址、本地端口)来表示。socket通过一个专门的函数创建,并返回一个整型的socket描述符。随后的各种操作都是通过socket描述符来实现的。
套接字的分类:
(1)流式套接字(SOCK_STREAM)
提供了一个面向连接、可靠的数据传输服务,数据无差错、无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制。TCP通信使用的就是流式套接字。
(2)数据报套接字(SOCK_DGRAM)
提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收。UDP通信使用的就是数据报套接字。
(3)原始套接字(SOCK_RAW)
原始套接字允许对较低层次协议如IP、ICMP进行直接访问。它功能强大但使用较为不便,主要用于一些协议的开发。
在这里插入图片描述

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值