The _close method has been separately overridden for UdpTransport and TcpTransport#107
Closed
klin111 wants to merge 1 commit intoeht16:masterfrom
Closed
The _close method has been separately overridden for UdpTransport and TcpTransport#107klin111 wants to merge 1 commit intoeht16:masterfrom
klin111 wants to merge 1 commit intoeht16:masterfrom
Conversation
…own(socket.SHUT_WR).避免使用udp时候,出现连接报错,如:"Error on closing the transport socket: [Errno 107] Transport endpoint is not connected"
Owner
|
Could you elobarate on the relation of socket buffer and connection less protocols? |
Owner
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
"The close method is overridden separately for UDP protocol because the shutdown of a UDP connection does not require cleaning up with wait_for_socket_buffer_empty, or using _sock.shutdown(socket.SHUT_WR) method. This avoids encountering connection errors when working with UDP, such as: 'Error on closing the transport socket: [Errno 107] Transport endpoint is not connected.'"
This explanation highlights the necessity of customizing the closing behavior for different protocols to ensure optimal performance and error handling. In the case of UDP, which is a connectionless protocol, certain steps taken for connection-oriented protocols like TCP (such as waiting for the socket buffer to empty or shutting down the write direction of the socket) are not applicable and can be omitted to prevent potential errors.