zoukankan      html  css  js  c++  java
  • 网络编程socket理论一

    网络通信理论

    首先说下网络之间的通信流程看图

    Socket 层是位于运输层和应用层之间的,封装好的,方便使用

    Socket 是什么和工作流程

    Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

     一个生活中的场景。你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。等交流结束,挂断电话结束此次交谈。 生活中的场景就解释了这工作原理。

    Tcp的三次握手和四次挥手

    先看理论图

    这些都是底层实现的,socket中都不用写这些,只需要明白其中原理就行,

    三次握手:

    三次握手:客户端先给服务端发送一个syn请求,如果客户端收到就回复一个ack,客户端收到服务端的消息后,也会回复一个ack表示能收到对方的消息:

    其实三次握手就是:保证服务端和客户端都能接收到对方的消息

    四次挥手:

    客户端给服务端发送消息说:自己发送完了,问服务端是否还有消息:

    服务端将数据发送完毕

    服务端发送消息说自己发送完毕,并准备关闭链接

    客户端也关闭链接

    通俗的来说就是:

    三次握手: 通俗的来讲就是 A和B打电话

    第一次握手 : 你好, 我是A, 你能听到我说话吗

    第二次握手 : 听到了, 我是B, 你能听到我说话吗

    第三次握手 : 听到了, 我们可以开始聊天了

     

    三次握手其实就是为了检测双方的发送和接收能力是否正常, 你说呢?

    四次挥手

    第一次挥手 : A告诉B, 我没数据发了, 准备关闭连接了, 你要发送数据吗

    第二次挥手 : B发送最后的数据

    第三次挥手 : B告诉A, 我也要关闭连接了

    第四次挥手 : A告诉B你可以关闭了, 我这边也关闭了

     

    scoket编程请看下一篇文章

  • 相关阅读:
    element中表单验证实例
    element中时间选择组件,设置default-value无效
    vue中,基于vue-seamless-scroll的无缝滚动实例
    element 表格多选时,修改选中行的背景色
    计算机组成原理11-DMA、数据完整性、分布式计算、大型DMP系统
    计算机组成原理10-总线、输入输出设备、I/O、机械硬盘、SSD硬盘
    计算机组成原理9-CPU组成、缓存、内存
    java基础-字符串
    SQL Server
    BG.Hive
  • 原文地址:https://www.cnblogs.com/xiaokang01/p/9057004.html
Copyright © 2011-2022 走看看