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流程。

8.Sockit定义_第1张图片
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的三次握手过程。

8.Sockit定义_第2张图片

你可能感兴趣的:(8.Sockit定义)