2012-07-31 7 views
-3

저는 indy와 함께 Delphi XE2를 사용하고 있습니다. 10.5.8.0잘 알려진 idMappedPortTCP 문제에 대한 해결책이 없습니까?

6 년 전이 게시물에 설명 된 것과 똑같은 문제가 발생했습니다!

http://www.delphigroups.info/2/1/213924.html

나는 활성으로 설정 단지 idMappedPortTCP 구성 요소와 간단한 양식을 가지고있다. 갑자기 멈추는 것보다 예상대로 입출력을 몇 초 동안 전달하는 동안 작동합니다. 응용 프로그램의 다른 모든 요소가 여전히 작동하는 동안 구성 요소가 응답을 중지합니다.

indy9가있는 챔피언과 같은 정확한 프로젝트가 동정입니다! 하지만 난 내가 Indy10을 :(

난 그냥 아무도 해결책 또는 아직 잘 알려진 문제에 대한 해결 방법 중 하나를 제공하지 믿을 수 없다. 해결책이 있어야합니다!

+0

오픈 소스입니다. 버그 수정의 속도가 마음에 들지 않으면 솔루션을 개발하고 직접 제출하십시오. Indy 팀이 당신의 도움에 감사 할 것이라고 확신합니다. –

+0

네트워크를 사용하고 이해하기가 어렵 기 때문에 네트워크 구성 요소를 사용하고 이해하기가 어렵습니다. 그러나 레미가 말했듯이, 단순히 타임 아웃 (60 초로 설정)을 사용하면 소위 "잠금 장치"가 타임 아웃이되어 더 이상 무서운 것이 아닙니다. –

+1

이것은 실제로 indy9와 함께 사용되는 이유를 설명하지 않습니다. 이전 버전의 Compo에서 작동하고 다음 릴리스에서 작동하지 않으면 뭔가 잘못되었습니다. 전체 Indy 직원의 Remy의 노력과 노력에 감사드립니다. 그러나 idMappedPortTCP의 indy10 버전은 실제로 작동하지 않습니다. 이제 select()에 결함이 있는지에 대해 논할 수는 있지만 indy9와 함께 작동하는 데 사용되었지만 이제는 아무도 신경 쓰지 않습니다. 기간 . 내가 해결할 수 있다면 솔루션을 직접 찾아 내려고 노력할 것입니다. 나는 행복하게 공유하고 구성 요소를 다시 볼 수있게 될 것입니다. 멋진 답변을 주신 덕분에 – user1566931

답변

9

을 고수 할 필요가 Indy9을 사용할 수 없습니다 6 년 전에이 논의에서 설명했듯이 근본적인 문제는 특정 조건 하에서 구형 OS 버전에서 Microsoft의 API 기능이 고정되어 발생했기 때문에 발생했습니다. Indy 문제는 오늘 그때 Indy 문제가 아닙니다. 오늘은 결코 발생하지 않는 소켓에서 상태 변경을 기다리는 경우에만 select()의 유일한 방법입니다 .Iny는 기본적으로 무한 타임 아웃을 사용하므로 Indy가 정말로 네트워킹상의 문제 일 때 멈춰라. 대신. 즉, Indy는 도착하지 않는 인바운드 데이터를 기다리고 있습니다. 패킷 스니퍼를 사용하여이를 확인할 수 있습니다.

+0

+1을 보내 주셔서 감사 드리며 시간을내어 Remy에게 감사의 말씀을 전합니다. –

관련 문제