분류 전체보기
-
에러처리 기법IT창고/System 2007. 1. 22. 23:13
/* 1. 실행가능한 파일을 프로그램이라한다. 2. 프로그램이 하나 실행되면 하나의 프로세스가 된다. 같은 프로그램이라도 2번실행되면 프로세스는 2개가 된다. 3. 프로세서는 CPU를 말한다. 4. 프로세스 하나당 쓰레드 하나가 생성된다. 5. 에러 전역변수는 프로세스당 하나라서 스레드가 2개일때 하나의 스레드가 처리하기 전에 다른 스레드가 에러를 발생하면 먼저 에러를 발생한 스레드의 에러는 알수가 없다. 6. 그레서 스레드당 하나의 에러전역변수를 지원해주는것이 있다. GetLastError(); 7. 브레이크 포인트(F9)하고 서치창에 @err과 @err,hr를 넣으면 에러를 알수 있다. 8. 성공시에도 GetLastError호출할때가 있다. */ #include #include #include //함..
-
소켓 옵션IT창고/Network 2007. 1. 22. 23:09
SetSockOpt(); 1. 멀티캐스트 그룹가입 IP_ADD_MEMBERSHIP 2. TP_TTL 1로 놓으면 라우터 하나만 지나면 패기된다. 3. SO_REVSE_ADDR -> 윈도우에서 잘 사용하지 않음... #define WIN32_LEAN_AND_MEAN // windows.h 에서 자주 사용하지 않은 것은 컴파일에서 제외 한다. // winsock2.h외의 충돌을 막아 준다. #include #include #include #pragma comment(lib, "ws2_32.lib") void main() { WSADATA wsadata; //if(WSAStartup(0x0202, &wsadata) != 0)//0x0202는 뒤에서부터 읽어서 2.2버젼을 쓰라는 이야기다. if(WSAStart..
-
UDP/MultiCastIT창고/Network 2007. 1. 22. 23:09
//server#define WIN32_LEAN_AND_MEAN // windows.h 에서 자주 사용하지 않는 것은 컴파일에서 제외한다. // winsock2.h 와의 충돌을 막아준다. #include #include #include #include #pragma comment(lib, "ws2_32.lib") void main() { WSADATA wsadata; if( WSAStartup(MAKEWORD(2,2), &wsadata) != 0) { printf("Can't Initialize Socket !\n"); return; } //-------------------------------------------------------------- SOCKET s = socket ( AF_INET, ..
-
Unicast/BroardCast/MultiCast-uniCast기본예제IT창고/Network 2007. 1. 22. 23:08
//server#define WIN32_LEAN_AND_MEAN // windows.h 에서 자주 사용하지 않는 것은 컴파일에서 제외한다. // winsock2.h 와의 충돌을 막아준다. #include #include #include #pragma comment(lib, "ws2_32.lib") void main() { WSADATA wsadata; if( WSAStartup(MAKEWORD(2,2), &wsadata) != 0) { printf("Can't Initialize Socket !\n"); return; } //-------------------------------------------------------------- SOCKET s = socket ( AF_INET, SOCK_DGRA..
-
WSAAsyncSelect//화이트보드 클라이언트에서 서버에 좌표보내기IT창고/Network 2007. 1. 22. 23:08
#define WIN32_LEAN_AND_MEAN #include #include #pragma comment(lib, "ws2_32.lib") struct LINE { POINTS ptFrom; POINTS ptTo; }; LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) { static SOCKET link_socket; static POINTS ptFrom ,pt ; switch( msg ) { case WM_LBUTTONDOWN: ptFrom = MAKEPOINTS(lParam); return 0; case WM_MOUSEMOVE: if(wParam & MK_LBUTTON) { POINTS pt = MAKEPO..