Socket编程:Socket、TCP和UDP基础

1.TCP(Transmission Control Protocol)

三次握手/四次挥手

功能:通信双方必须互相确定对方的存在

下载文件;数据完整性要求高;数据可靠性要求高;传输性能要求低

2.UDP(User Datagram Protocol)

No.分类举例
1单播(unicast)私聊,爱奇艺视频
2广播(broadcast)广告,病毒
3多播/组播(multicast)群聊,春晚直播

3 IP(Internet中主机的标识)

3.1 分类

32位(IPV4)/128位(IPV6)       (32位是4个字节)

3.2 表示形式(常用点分形式)

No.协议形式e.g.
1IPv4点分十进制192.168.0.1
2IPv6点分十进制::192.168.0.1
3IPv6点分十六进制::C0A8:0001

3.3 特例

No.IP地址地址类型作用
10.0.0.0通配地址主机上所有IP,多网卡共用
2127.0.0.1回环地址本地虚拟接口,无网卡可用,检查本地网络协议
3255.255.255.255广播地址受限广播地址,当前路由器均不转发此类广播
4XXX.XXX.XXX.255广播地址子网广播地址
5XXX.XXX.255.255广播地址全子网广播
6224.0.0.0~239.255.255.255组播地址详细参见组播地址分类

No.类型简写本质e.g.
1大端BE(big endian)将高序字节存储在起始地址IBM、网络
2小端LE(little endian)将低序字节存储在起始地址Intel

Socket三个要点

  • socket是一个编程接口;是一种特殊的文件描述符

a. 协议域domain

No.参数含义
1AF_INETIPv4
2AF_INET6IPv6
3AF_LOCALUnix域

b. 类型type

No.类型Type作用说明
1流式套接字SOCK_STREAM提供面向连接、可靠的数据传输服务,数据按字节流、按顺序收发,保证在传输过程中无丢失、无冗余。TCP协议支持该套接字。
2数据报套接字SOCK_DGRAM提供面向无连接的服务,数据收发无序,不能保证数据的准确到达。UDP协议支持该套接字。
3原始套接字SOCK_RAW允许对低于传输层的协议或物理网络直接访问常用于检测新的协议
No.类型作用
1流式套接字(SOCK_STREAM)提供了一个面向连接,可靠的数据传输服务,数据无差错,无重复的发送且按发送顺序接收。内设置流量控制,避免数据流淹没慢的接收方。数据被看作是字节流,无长度限制
2数据报套接字(SOCK_DGRAM)提供无连接服务。数据包以独立数据包的形式被发送,不提供无差错保证,数据可能丢失或重复,顺序发送,可能乱序接收
4原始套接字(SOCK_RAW)可以对较低层次协议如IP,ICMP直接访问

c. 协议protocol

No.参数含义
1IPPROTO_TCPTCP
2IPPROTO_UDPUDP
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值