8.Sockit定义

参考:
简单理解Socket

1. TCP 和 UDP

tcp和udp都是是传输层的协议。

  1. UDP(用户数据报协议)

    • 只管发送,不确认对方是否接收到
    • 将数据及源和目的封装成数据包中,每个数据包的大小限制在64K之内
    • 不需要建立连接,速度快,因此是不可靠协议
    • 应用场景:多媒体教室/网络流媒体
  2. TCP(传输控制协议)

    • 建立连接,形成传输数据的通道,效率会稍低
    • 在连接中进行大数据传输(数据大小不收限制)
    • 通过三次握手完成连接,是可靠协议,安全送达
2. Socket

1.定义:
Socket 是操作系统提供的进程间通信的机制。是操作系统为应用程序提供一组接口(API),称为套接字接口(英语:socket API)

2.原理:
使用 本地IP地址 + 本地通讯端口 + 通讯协议 + 远程IP地址 + 远程通讯接口 这5个元来唯一确定2个进程间的通讯。

3.原生Socket通讯流程

socket是"打开--读/写--关闭"模式的实现。如下为使用tcp协议的socket流程。

socket

1.服务器根据地址类型,socket类型,协议类型创建socket。 socket()

2.服务器为socket绑定ip地址 和 端口号。bind()

3.服务器socket监听端口号。listen()

4.客户端创建socket。

5.客户端打开socket,根据服务器ip地址和端口号,连接服务器socket。connect()

6.服务器接收客户端socket,被动打开。 Accept()

7.客户端向socket写入信息。write()

8.服务器读取信息。read()

9.客户端关闭。close()

10.服务器关闭。

4.tcp协议的socket中,TCP的三次握手。

在Socket中,服务器socket 和客户端socket建立连接的过程就是tcp的三次握手过程。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 意识在正弦和余弦间摇摆, 那一张张不及格的试卷, 趁机带着书柜的陈旧气息, 和三角函数的求导, 在老师的念书声中扑...
    嗯_5d65阅读 176评论 0 1
  • GM12891GSM803535GSM803467 HCT-116GSM803354GSM803475 HepG2...
    547可是贼帅的547阅读 412评论 0 0
  • 职场上销售,让老板给你加薪30% 最近在抖音上刷过这样的一则段子,大概情节是酱紫的。 员工:我强烈要求加薪,已经有...
    人生需要仰望阅读 166评论 0 0
  • 非常有趣的手绘训练营马上就要结束了,我们每个人都用自己的作品为此划上一个圆满的句号,在此谢谢老师。
    丑白阅读 217评论 1 1