Communication Errors and Handling of Communication Errors
- When considering the transport of RPC messages different reliability semantics exist:
通信錯誤和通信錯誤的處理在考慮RPC消息的傳輸時,存在不同的可靠性語義:
? Maybe — the message might reach the communication partner ?
也許 – 消息可能會傳達給通信伙伴
? At least once — the message reaches the communication partner at least once
至少一次 – 消息至少到達通信伙伴一次
? Exactly once — the message reaches the communication partner exactly once
恰好一次 – 消息恰好一次到達通信伙伴
- When using these terms in regard to Request/Response the term applies to both messages (i.e. request and response or error).
在請求/響應方面使用這些術語時,該術語適用于兩種消息(即請求和響應或錯誤)。
- While different implementations may implement different approaches, SOME/IP currently achieves “maybe” reliability when using the UDP binding and “exactly once” reliability when using the TCP binding. Further error handling is left to the application.
雖然不同的實現可以使用不同的方法,但是當使用UDP綁定時SOME / IP當前實現“可能”可靠性并且在使用TCP綁定時“完全一次”可靠性。 進一步的錯誤處理留給應用程序。
- For “maybe” reliability, only a single timeout is needed, when using request/response communication in combination of UDP as transport protocol. Following figure shows the state machines for “maybe” reliability. The client’s SOME/IP implementation has to wait for the response for a specified timeout. If the timeout occurs SOME/IP shall signal E_TIMEOUT to the client application.
對于“可能”的可靠性,當使用UDP作為傳輸協議的請求/響應通信時,僅需要單個超時。 下圖顯示了“可能”可靠性的狀態機。客戶端的SOME / IP實現必須等待指定超時的響應。 如果發生超時,SOME / IP將向客戶端應用程序發送E_TIMEOUT信號。

- For “exactly once” reliability the TCP binding may be used, since TCP was defined to allow for reliable communication.
對于“恰好一次”可靠性,可以使用TCP綁定,因為TCP被定義為允許可靠的通信。
- Additional mechanisms to reach higher reliability may be implemented in the application or in a SOME/IP implementation. Keep in mind that the communication does not have to implement these features. Following slide describes such optional reliability mechanisms.
可以在應用程序或SOME / IP實現中實現達到更高可靠性的其他機制。 請記住,通信不必實現這些功能。 下一頁描述了這種可選的可靠性機制。
