32bit 프로그램에서 64bit DLL DllRegisterServer 등록하기 윈7 32비트 응용프로그램에서 64비트 DLL 호출 및 등록은 죽었다 깨어나도 안된다. 그리고 윈도우 95부터 등장한 32비트에서 16비트 하위 호환실행을 지원하기 위한 WOW(Windows-On-Windows) 시스템에 의해 이제는 64비트 os하의 32bit 어플들이 지원되긴 하는데 이 32비트 응용프로그램들은 (윈도우즈 파일들)모두 SysWOW64 폴더로 리다이렉션 되기 때문에 System32 하의 64비트 프로그램들은 호출이 기본적으로 안되게 되어 있다. 아래 소스를 참조 바란다. 따라서, 직접 DLL을 로드하여 DllRegisterServer 를 호출하려면 호출자 EXE도 같은 64비트여야 한다. 여기서는 간략하게 32비트 EXE에서 64비트 DLL을 등록하는 방법을 설명한다. 탐색기 팝업메뉴를.. 더보기 네트워크 프로그래밍 TIME_WAIT 제거 TIME_WAIT 에 대해서 만들어진 TCP연결이 종료되기 위해서는 FIN패 킷 교환이 이루어진다. 이때 우아한 종료가 이루어지기 위해서는 총 4번의 패킷교환이 필요하게 된다. 우아한 종료라는 것은 연결된 호스트 양쪽이 모두 연결이 종료되었음을 알게 되는 상태다. 만약 FIN 패킷을 보냈는데, 상대 호스트에서 ACK 패킷을 보내지 않고 종료해버리는 경우 FIN을 보낸측은 우아한 종료를 위해서 일정시간 ACK를 기다리게 된다. 리눅스의 경우 대략 90초 정도를 기다린다. netstat(1)로 확인해 보면 TIME_WAIT인 상태로 나타난다. TIME_WAIT상태일 경우 해당 포트를 계속 점유하는데, 연결이 빈번한 네트워크 서비스일 경우 연결거부와 관련된 문제가 발생할 수 있다. TIME_WAIT 문제 발생.. 더보기 컴파일러별 소켓 설정 옵션 소켓 기반 네트워크 프로그래밍에서는 패킷을 전송하고 수집하기 위해 직접 네트워크 인터페이스 장치를 접근할 필요가 없다. 대신, 네트워크와의 프로그래밍 인터페이스를 처리해줄 중간 단계의 파일 기술자를 생성하여 사용한다. 네트워크 연결을 참조하는데 사용하는 특정 파일 기술자를 소켓(socket)이라 부른다. 네트워크 연결 또는 유닉스 프로세스간 통신(IPC : InterProcess? Communication) 파이프와 같은 특정 통신 영역 스트림 또는 데이터그램과 같은 특정 통신 타입 TCP 또는 UDP 와 같은 특정 프로토콜 유닉스 기반 소켓int socket(int domain, int type, int protocol) domain값 설명 PF_UNIX 유닉스 IPC통신 PF_NET IPv4 인터넷 .. 더보기 이전 1 2 3 4 5 6 7 ··· 22 다음