우분투 컴퓨터에서 파이썬 2.7을 사용하고 있습니다.소켓 연결을 시도 할 때 ECONNABORTED는 무엇을 의미합니까?
클라이언트가 서버에 연결을 시도합니다. 나는 비 차단 소켓에 대해 기대되는 EINPROGRESS를 얻는다.
가 연결이 성공 여부를 확인하기 위해, 나는 {연결}에 대한 man 페이지가 제안 무엇 :# EINPROGRESS The socket is nonblocking and the connection cannot be
# completed immediately. It is possible to select(2) or poll(2) for
# completion by selecting the socket for writing. After select(2)
# indicates writability, use getsockopt(2) to read the SO_ERROR option at
# level SOL_SOCKET to determine whether connect() completed successfully
# (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error
# codes listed here, explaining the reason for the failure)
서버가 오프라인이 나에게 ECONNREFUSED을 제공합니다. 여태까지는 그런대로 잘됐다.
연결이 실패하면 몇 번 다시 시도하고 싶습니다.
문제 : 두 번째 동일한 소켓에 연결하려고하면 {connect}이 (가) ECONNABORTED를 보냅니다. 이것은 {connect}의 man 페이지에 없습니다. 무슨 뜻이에요?
내가이 일을한다고해도, 내가 너라면, 나는하지 않을 것이다. 나는 소켓 API가 기술적으로 한번 전에 연결에 실패한 소켓을 재사용 할 수 있는지 여부를 모르지만 리눅스는 마음에 들지 않는 반면 MacOS에서는 EINVAL을 얻는다. 매 소켓마다 새 소켓을 엽니 다. – Celada