2012-03-06 5 views
2

클라이언트 - 서버 채팅 응용 프로그램을 개발 중이며 클라이언트 창을 닫을 때 다음 예외가 발생했습니다.전송 연결에서 데이터를 읽을 수 없습니다. WSACancelBlockingCall 호출로 차단 작업이 중단되었습니다.

전송 연결에서 데이터를 읽을 수 없습니다. WSACancelBlockingCall을 호출하여 차단 작업이 중단되었습니다.

어떤 문제 일 수 있습니까? 도와주세요.

+0

이 도움이 당신의습니까? 아니면 여전히 문제가 발생합니까? – mslot

답변

3

독자 또는 작성자의 .Close()를 기본 스트림으로 호출하는 경우. 그 후에 독자 또는 작가를 사용하려고하면이 오류가 발생합니다.

1

결국 .Close();이 호출되며이 판독기/기록기를 호출하는 스레드도 닫습니다. 논의 this 비슷한 코드에서와 같이, 문제는 단순히 .Close(); 스트림이라고 두 곳에서 .Abort();을 추가하여 해결할 수 있습니다

  swSender.Close(); 
      srReceiver.Close(); 
      tcpServer.Close(); 
      thrMessaging.Abort(); // this needed to be added to solve the problem 
관련 문제