Autosar 以太网 socket 理解

目录

1.Socket位置

2.socket是什么

3.典型的socket连接

3.1DoIP中的socket连接

3.2典型的以太网通信连接

4.socket 主要操作

4.1 connect

4.2 listen

4.3 bind

4.4 accept

4.5 close

5.SoAd 模块在autosar中连接过程

5.1 UDP的连接

5.2 TCP的连接


1.Socket位置

Socket在Autosar中的位置为Socket Adaptor,简称为SOAD模块,处于TCP/IP的上层,SD、DoIP的下层

Autosar 以太网 socket 理解_第1张图片

2.socket是什么

Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口,例如Socket中典型包含了IP+port口,凡是匹配上的,就可以连接起来,

就如我们的二脚插头 对上二脚插孔,三脚插头对上三脚插孔 那样。

3.典型的socket连接

3.1DoIP中的socket连接

Autosar 以太网 socket 理解_第2张图片

3.2典型的以太网通信连接

Autosar 以太网 socket 理解_第3张图片

服务端:

  1. 先初始化Socket,
  2. 然后与端口绑定(bind),
  3. 对端口进行监听(listen),
  4. 调用accept阻塞,
  5. 等待客户端连接。

客户端:

  1. 初始化一个Socket;
  2. 然后连接服务器(connect);
  3. 如果连接成功,这时客户端与服务器端的连接就建立了;
  4. 客户端发送数据请求,服务器端接收请求并处理请求;
  5. 然后把回应数据发送给客户端,客户端读取数据;
  6. 最后关闭连接,一次交互结束。

4.socket 主要操作

4.1 connect

客户端通过调用connect来建立与服务器的连接。

4.2 listen

服务器,在调用bind()之后就会调用listen()来监听这个socket

4.3 bind

bind()把一个地址族中的特定地址赋给socket,例如把一个ipv4或ipv6地址和端口号组合赋给socket。

4.4 accept

服务端依次调用bind()、listen()之后,会监听指定的socket地址;

客户端依次调用connect()之后向服务器发送了一个连接请求;

服务器监听到这个请求之后,调用accept()接收请求,这样连接就建立好了。

4.5 close

在服务器与客户端建立连接之后,会进行一些操作,完成操作后就会调用close()关闭相应的socket描述字。

5.SoAd 模块在autosar中连接过程

5.1 UDP的连接

Autosar 以太网 socket 理解_第4张图片

5.2 TCP的连接

Autosar 以太网 socket 理解_第5张图片

 

你可能感兴趣的:(Classic,Autosar,自动驾驶,Automatic,Driving,Autosar,以太网,Socket)