2011-12-23 4 views
1

이상한 문제가 있습니다. Windows XP에서 39 시간 동안 C++ 응용 프로그램을 실행하면 네트워크가 손상되고 응용 프로그램이 실패합니다. 몇 번 본거야. "ping localhost"을 입력하면 "no resources"이라고 표시됩니다. 인터넷에서 this thread을 찾았습니다. 사람들의 조언을 통해 "ipconfig/renew"이됩니다."리소스 없음"핑 (Ping) - 원인은 무엇입니까?

내가 아는 것이 무엇인지, 어떤 동작 (Windows API 호출)으로 인해 발생하는지. 나는 거의 100 %의 문제가 네트워크 카드에 있다는 것을 확신하지만 (다른 카드가 잘 작동하기 때문에), 나는 이해하고 싶다. 나의 행동이 그 원인이다.

유감스럽게도 내 응용 프로그램은 메가 바이트 단위의 코드로 구성되어 있으므로 몇 줄을 주석 처리하여 오류를 재현 할 수 없는지 확인할 수는 없습니다.

네트워크 카드 드라이버가 실행하는 Windows API 호출 목록이 있습니까? 예를 들어 "sendto"은 데이터를 네트워크로 전송하기 때문에 드라이버에 의해 실행될 가능성이 큽니다.

네트워크 드라이버가 올바르게 작동하지 않는 경우 표시 할 수있는 브라우저 (브라우저의 Acid 테스트)와 같은 테스트가 있습니까?

+2

저는 네트워크 카드 나 그 드라이버가 문제가되고 테스트하는 것이 시간 낭비라고 생각합니다. 문제는 코드, 소켓, 메모리 또는 핸들 누출 일 가능성이 높습니다. netstat 및 작업 관리자와 같은 간단한 도구가 문제의 원인을 알려줍니다. –

+0

동의. DHCP 임대 및 갱신과 관련이 있다는 사실에 회의적입니다. – EJP

답변

2

소켓이 부족한 것 같습니다. 일단 소켓을 사용하면 소켓을 해제 할 수 있습니까?

+0

100 % 확신 할 수는 없지만 소켓을 만들지 만 "closesocket"으로 닫지 않는 간단한 테스트를 작성했습니다. 시스템이 다르게 작동합니다. 프롬프트가 " 'ping'이 내부 또는 외부 명령으로 인식되지 않는다고 말하기 때문에 나는"ping localhost "조차 할 수 없다. 다음 번에 나는 소켓을 생성하고 어떤 에러가 발생 하는지를 볼 수있는 어플리케이션을 실행하려고 시도 할 문제를보고있다. – Graf

+0

물론 "소켓이나 다른 제한된 리소스"로 확장하십시오. 또한 다음과 같이 들립니다. http://www.recurity-labs.com/content/pub/Microsoft_Windows_CVE-2009-1926_MS09-048.txt 또는 http://msdn.microsoft.com/en-us/library /cc296845(v=bts.10).aspx. –

+0

어떤 경우 든 먼저 보이는 것이 프로그램입니다. 생성 된 네트워크 객체가 범위를 벗어나거나 명시 적으로 삭제되도록 허용하여 리소스를 다시 확보 할 수 있도록해야합니다. –

0

네트워크 카드가 최신 드라이버로 업데이트되었는지 확인하거나 드라이버를 다시 설치 한 다음 컴퓨터를 한 번 다시 시작하십시오.

관련 문제