누구나이 경험이 있습니까? 나는 꼬인 앱이있다. 클라이언트가 서버에 연결합니다. 클라이언트가 서버에 연결했지만 실행중인 IP 주소의 클라이언트가 이미있는 경우 새 클라이언트의 연결을 끊는 기능을 추가했습니다.트위스트 클라이언트 연결 해제 감지하지 않음
가끔씩 파이썬 프로그램을 수동으로 끄지 않고 클라이언트 컴퓨터 (또는 VM)를 종료했습니다. 이 작업을 수행 할 때 잠시 동안이지만 꽤 자주 서버가 연결을 감지하지 못합니다. 컴퓨터가 다시 부팅되어 다시 연결을 시도하면 서버는 해당 IP로부터의 연결이 이미 있다고 주장합니다. 지금까지 찾은 유일한 해결책은 서버를 다시 시작하는 것입니다.
연결이 끊어지지 않는 이상한 네트워킹 일 수 있습니까? 꼬인 버그?
나는 연결 해제를 처리하는 코드에 버그가 없다는 것을 99 % 확신합니다. 내 코드는 컴퓨터가 셧다운되는 대부분의 경우를 포함하여 연결이 끊어 질 때마다 connectionLost
이 호출되도록 설정되며, 이상한 일이 발생하면 연결이 끊어 지거나 예외가 발생하는 문자열을 기록합니다. 이 중 어느 것도 로그에 나타나지 않았습니다.
트위스트 된 프레임 워크에는 모든 개념 수준 (전송/연결, 프로토콜 등)에서 정의 된 이벤트 및 eventHandler가있어 연결 해제를 처리합니다. 코드를 검사하면 도움이 될 것입니다. 해당 동작을 나타내는 단순화 된 버전의 코드를 게시 할 수 있습니다. – pyfunc
@pyfunc : 코드를 파헤칩니다. 네트워크 문제가 의심됩니다. 클라이언트의 연결을 다시 시도하게 만들었고 어떤 경우에는 결국 연결할 수있었습니다 (다른 경우는 있지만 그렇지 않은 경우). – Claudiu