网络和通信

网络

1:三次握手和四次挥手

  • 客户端发送带有SYN标志的数据包,一次握手——服务器
  • 服务端发送带有 SYN/ACK标志的数据包,二次握手——客户端
  • 客户端发送带有ACK标志的数据包,三次握手——服务端
  • 为什么要三次
    • 第一次,client什么都不能确定,server确定了对方发送正常,自己接受正常
    • 第二次,client确定了:自己发送,接受正常,对方两项也正常,server确认了对方发送正常,自己接受正常
    • 第三次:client确定了自己和他都正常,server也确定了
  • 为什么传回了ACK,还要SYN
    • 告诉客户端,我收到的消息确实是你发送过来的
  • 四次挥手
    • 客户端发送一个FIN,用来关闭客户端到服务器的数据传送
    • 服务区收到了这个FIN,发回一个ACK,确定序号为收到的序号+1,和SYN一样,FIN将占用一个序号
    • 服务器关闭与客户端的连接,发送一个FIN给客户端
    • 客户端发送ACK报文确定,并将确认序号设置为收到的序号+1
    • 客户端告诉服务器,我要关闭了
    • 服务器收到了这个消息,说我收到了
    • 服务器说,我关闭了
    • 客户端说,我也关闭了
    • A:我没啥说的了
    • B:我知道了
    • B:我说完了
    • A:我也知道了

2:可靠传输的保证

  • 校验和
  • 流量控制
  • 拥塞控制
  • ARQ协议
  • 超时重传

3:进程之间的通信方式

  • 管道/匿名管道,具有血缘关系的父子进程后者兄弟之间的通信
  • 有名管道:先进先出,以磁盘文件的形式存在
  • 信号:singal,通知某个进程某个事情已经发生
  • 消息队列:先进先出的原则,消息队列实现消息的随机查询,
  • 信号量:是一个计数器,多进程对共享数据的访问
  • 共享内存:多个进程可以访问同一块的内存空间,互斥锁和信号量
  • 套接字:客户端和服务器之间通过网络进行通信。

3:线程之间的同步方式

  • 互斥量:mutex
  • 信号量:semaphore
  • 时间:wait/ notify
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值