Microsoft PowerPoint - 09-CE-25-오목게임

Size: px
Start display at page:

Download "Microsoft PowerPoint - 09-CE-25-오목게임"

Transcription

1 순천향대학교컴퓨터학부이상정 1 학습내용 단순오목게임 인터넷오목게임 승부판정오목게임 순천향대학교컴퓨터학부이상정 2

2 단순오목게임 순천향대학교컴퓨터학부이상정 3 예제 49: 단순오목게임 스크린에바둑판을그리고, 스크린을터치하면해당위치에흰돌또는검은돌만표시 승부는판정하지않음 메뉴 ID_START, ID_EXIT 순천향대학교컴퓨터학부이상정 4

3 예제 49: 코드 (1) #define MAXLINE 19 // 바둑판줄수 #define DELTALINE 12 // 바둑판줄간격 #define STARTX 10 // 바둑판시작 X 좌표 #define STARTY 60 // 바둑판시작 Y 좌표 HBRUSH WhiteBrush, BlackBrush; enum SITE NONE, BLACK, WHITE ; SITE Board[MAXLINE-2][MAXLINE-2]; BOOL WhTurn = FALSE; // 흰돌, 검은돌브러시 // 바둑돌없음, 검은돌, 휜돌 // 바둑판상태배열 // 다음둘차례, TRUE: 흰돌, FALSE: 검은돌 void InitOmok(); void LbuttonDownEvent(HWND hwnd, int x, int y); void DrawOmok(HWND hwnd); void DrawSite(HWND hwnd, int x, int y, SITE dol); // 오목게임초기화 // 스크린터치이벤트함수 // 바둑판과돌화면에표시 // 바둑돌표시 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) switch (message) case WM_LBUTTONDOWN: LbuttonDownEvent(hWnd, LOWORD(lParam), HIWORD(lParam)); 순천향대학교컴퓨터학부이상정 5 예제 49: 코드 (2) case WM_LBUTTONDOWN: LbuttonDownEvent(hWnd, LOWORD(lParam), HIWORD(lParam)); case WM_COMMAND: wmid = LOWORD(wParam); wmevent = HIWORD(wParam); switch (wmid) case ID_START: /// 오목게임초기화 InitOmok(); InvalidateRect(hWnd, NULL, TRUE); case ID_EXIT: /// 게임종료 MessageBox(hWnd,L"Game is over!!", L"", NULL); SendMessage(hWnd, WM_CLOSE, 0, 0); case IDM_HELP_ABOUT: 순천향대학교컴퓨터학부이상정 6

4 예제 49: 코드 (3) case WM_CREATE: /// 오목초기화 InitOmok(); g_hwndcommandbar = CommandBar_Create(g_hInst, hwnd, 1); CommandBar_InsertMenubar(g_hWndCommandBar, g_hinst, IDR_MENU1, 0); CommandBar_AddAdornments(g_hWndCommandBar, 0, 0); case WM_PAINT: hdc = BeginPaint(hWnd, &ps); /// 바둑판화면에표시 DrawOmok(hWnd); EndPaint(hWnd, &ps); 순천향대학교컴퓨터학부이상정 7 예제 49: 코드 (4) /// 오목초기화 void InitOmok() // 브러시생성 WhiteBrush = CreateSolidBrush(RGB(255,255,255)); BlackBrush = CreateSolidBrush(RGB(0,0,0)); 0 0)); // 바둑판상태배열초기화 for (int x = 0; x < MAXLINE-2; x++) for (int y = 0; y < MAXLINE-2; y++) Board[x][y] = NONE; /// 스크린터치이벤트함수 void LbuttonDownEvent(HWND hwnd, int x, int y) int ix, iy; // 바둑판상태배열인덱스 ix = (x-startx) / DELTALINE; iy = (y-starty) / DELTALINE; // 경계범위위반조사 if (ix < 0 ix >= MAXLINE-2 iy < 0 iy >= MAXLINE-2 ) return; 순천향대학교컴퓨터학부이상정 8

5 예제 49: 코드 (5) if (Board[ix][iy] == NONE) // 해당위치에돌이없으면 // 다음돌선택하고화면에표시 Board[ix][iy] = WhTurn? WHITE : BLACK; DrawSite(hWnd, ix, iy, Board[ix][iy]); // 돌차례바꿈 WhTurn =!WhTurn; /// 바둑판과돌화면에표시 void DrawOmok(HWND hwnd) HDC hdc = GetDC(hWnd); int px, py, endx, endy; int deltax, deltay; // 선간격, 끝좌표지정 deltax = deltay = DELTALINE; endx = STARTX +(MAXLINE-1)*deltaX; endy = STARTY + (MAXLINE-1)*deltaY; 순천향대학교컴퓨터학부이상정 9 예제 49: 코드 (6) // 가로줄표시 for (int y = 0; y < MAXLINE; y++) py = STARTY + y*deltay; // 그려질 y 좌표 MoveToEx(hdc, STARTX, py, NULL); LineTo(hdc, endx, py); // 세로줄표시 for (int x= 0; x < MAXLINE; x++) px = STARTX + x*deltax; // 그려질 x 좌표 MoveToEx(hdc, px, STARTY, NULL); LineTo(hdc, px, endy); // 바둑돌표시 for (int x = 0; x < MAXLINE-2; x++) for (int y=0; y < 19; y++) DrawSite(hWnd, x, y, Board[x][y]); 순천향대학교컴퓨터학부이상정 10

6 예제 49: 코드 (7) /// 바둑돌표시 void DrawSite(HWND hwnd, int x, int y, SITE dol) HDC hdc = GetDC(hWnd); int px, py; // 타원시작점 px = STARTX+x*DELTALINE+DELTALINE/2+1; py = STARTY+y*DELTALINE+DELTALINE/2+1; if (dol!= NONE) // 돌이없으면 if (dol == BLACK) // 검은돌 SelectObject(hdc, BlackBrush); Ellipse(hdc, px, py, px+deltaline-2, py+deltaline-2); DeleteObject(BlackBrush); else // 흰돌 SelectObject(hdc, WhiteBrush); Ellipse(hdc, px, py, px+deltaline-2, py+deltaline-2); DeleteObject(WhiteBrush); 순천향대학교컴퓨터학부이상정 11 인터넷오목게임 순천향대학교컴퓨터학부이상정 12

7 예제 50: 인터넷오목게임 예제 49 의단순오목게임을수정하여인터넷에연결하여상대방과오목게임 기존의오프라인게임에네트워크게임기능추가 네트워크게임메뉴 ID_SERVER: 서버, 흰돌 ID_CONNECT: 클라이언트, 검은돌, 연결요청시작 ID_STOP: 네트워크게임중지 에디트, 버튼컨트롤 ID_IP, ID_PORT: IP 주소, 포트번호 ID_BUTTON: 연결버튼 클라이언트로동작시화면에표시 PC 용으로실행시에는일부수정 MyRegisterClass() 함수에서 IDR_MENU1 메뉴로드 바둑판크기, DELTALINE 20 create_gui() 함수에서 CreateWindow() 함수매개변수 hinst #pragma comment(lib,"ws2_32.lib") 순천향대학교컴퓨터학부이상정 13 예제 50: 실행결과 (1) PC 는서버, 실습보드는클라이언트로동작하는예 순천향대학교컴퓨터학부이상정 14

8 예제 50: 실행결과 (2) 순천향대학교컴퓨터학부이상정 15 예제 50: 서버동작 WM_CREATE 메시지에서 initwinsock() 호출하여윈속초기화 서버동작 메뉴 ID_SERVER 에서서버쓰레드함수 ServerStart() 생성하고실행 ServerStart() 쓰레드함수 서버소켓생성, socket() 주소 / 포트연결지정, bind() 클라이언트접속대기, listen() 클라이언트접속, accept() 바둑판그림, InvalidateRect() 데이터수신쓰레드함수 ReceiveData() 실행 ReceiveData() 쓰레드함수 recv() 함수사용하여상대방의바둑돌 x,,y 좌표수신 Drawsite() 호출하여바둑판에표시 순천향대학교컴퓨터학부이상정 16

9 예제 50: 클라이언트동작 클라이언트동작 ID_CONNECT 메뉴에서 create_gui() 함수호출 create_gui() 함수 IP, 포트에디트컨트롤, 연결버튼생성하고화면에표시 ID_BUTTON 메뉴에서 ConnectClick() 함수호출 Connect() 함수호출하여서버에연결요청 Connect() 함수 소켓생성, socket() 접속할서버주소 / 포트지정및연결, connect() 데이터수신쓰레드함수 ReceiveData() 실행 메인윈도우에서버튼, 에디트컨트롤제거 바둑판그림, InvalidateRect() 순천향대학교컴퓨터학부이상정 17 예제 50: 데이터송신 WM_LBUTTONDOWN 메시지에서 LbuttonDownEvent() 함수호출 LbuttonDownEvent() 함수 바둑돌위치계산하고 Drawsite() 호출하여바둑판에표시 네트워크연결이면 SendData() 함수호출하여위치 x, y 송신 SendData() 함수 send() 함수사용하여바둑돌 x, y 좌표를상대방에게송신 순천향대학교컴퓨터학부이상정 18

10 예제 50: 코드 ATOM MyRegisterClass(HINSTANCE hinstance, LPTSTR szwindowclass) /// ATOM MyRegisterClass(HINSTANCE hinstance) wc.lpszmenuname = 0; /// wcex.lpszmenuname = MAKEINTRESOURCE(IDR_MENU1); MENU1); // PC 용 //// 오목관련선언 #define MAXLINE 19 // 바둑판줄수 #define DELTALINE 12 // 바둑판줄간격 /// #define DELTALINE 20 // PC 용 #define STARTX 10 // 바둑판시작 X 좌표 #define STARTY 60 // 바둑판시작 Y 좌표 HBRUSH WhiteBrush, BlackBrush; enum SITE NONE, BLACK, WHITE ; SITE Board[MAXLINE-2][MAXLINE-2]; bool WhTurn = false; // 흰돌, 검은돌브러시 // 바둑돌없음, 검은돌, 휜돌 // 바둑판상태배열 // 다음둘차례, true: 흰돌, false: 검은돌 void InitOmok(); void LbuttonDownEvent(HWND hwnd, int x, int y); void DrawOmok(HWND hwnd); void DrawSite(HWND hwnd, int x, int y, SITE dol); 순천향대학교컴퓨터학부이상정 19 // 오목게임초기화 // 스크린터치이벤트함수 // 바둑판과돌화면에표시 // 바둑돌표시 예제 50: 코드 //// 네트워크관련선언 #include <Winsock2.h> #pragma comment(lib,"ws2.lib") // #pragma comment(lib,"ws2_32.lib") #define ID_IP IP 500 #define ID_PORT 501 #define ID_BUTTON 502 HWND hip, hport, hconnect; // 컨트롤핸들 HANDLE hserverthread, hrecvthread; // 쓰레드핸들 bool IsGameStart = false; // true: 게임시작하여진행중 WCHAR szip[20], szport[20]; // 에디트컨트롤버퍼 bool IsConnected = false, // 연결상태표시플래그 IsClient = false; // 클라이언트로실행중임을표시 SOCKET server, client; // 소켓 bool initwinsock(); void create_gui(hwnd hwnd); void ConnectClick(HWND hwnd); bool Connect(HWND hwnd); DWORD WINAPI ServerStart(LPVOID pdata); DWORD WINAPI ReceiveData(LPVOID pdata); void SendData(int x, int y); void NetworkStop(); 순천향대학교컴퓨터학부이상정 20 // 윈속초기화 // 에디트컨트롤, 버튼생성 // Connect 버튼클릭함수 // 서버에연결요청함수 // 채팅서버시작쓰레드함수 // 메시지수신쓰레드함수 // 데이터송신함수 // 네트워크중지함수

11 LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT ps; HDC hdc; switch (message) case WM_LBUTTONDOWN: if (IsGameStart == true) // 게임진행중이면 LbuttonDownEvent(hWnd, LOWORD(lParam), HIWORD(lParam)); case WM_COMMAND: wmid = LOWORD(wParam); wmevent = HIWORD(wParam); switch (wmid) case ID_START: /// 오목초기화 InitOmok(); IsGameStart = true; InvalidateRect(hWnd, NULL, true); 순천향대학교컴퓨터학부이상정 21 // 게임시작 case ID_EXIT: /// 게임종료 MessageBox(hWnd,L"Game is over!!", L"", NULL); SendMessage(hWnd, WM_CLOSE, 0, 0); case ID_SERVER: // 서버시작 /// 서버쓰레드생성하고실행 hserverthread = CreateThread(NULL, 0, ServerStart,(PVOID)hWnd, 0, NULL); case ID_CONNECT: /// GUI 표시후연결요청 /// GUI 컨트롤생성 create_gui(hwnd); case ID_BUTTON: // Connect 버튼 // 버튼클릭함수호출 ConnectClick(hWnd); case ID_IP: // IP 주소 if (wmevent == EN_CHANGE) GetWindowText(hIP, szip, 20); case ID_PORT: // 포트번호 if (wmevent == EN_CHANGE) GetWindowText(hPort, szport, 20); case ID_STOP: NetworkStop(); // 네트워크중지함수 MessageBox(hWnd,L"Game is over!!", L"", NULL); SendMessage(hWnd, WM_CLOSE, 0, 0); case IDM_HELP_ABOUT: 순천향대학교컴퓨터학부이상정 22

12 임베디드 case 소프트웨어 WM_CREATE: /// 오목초기화 InitOmok(); /// 윈속초기화 if (initwinsock() == false) return 0; g_hwndcommandbar = CommandBar_Create(g_hInst, hwnd, 1); CommandBar_InsertMenubar(g_hWndCommandBar, g_hinst, IDR_MENU1, 0); CommandBar_AddAdornments(g_hWndCommandBar, 0, 0); case WM_PAINT: hdc = BeginPaint(hWnd, &ps); /// 오목판그림 if (IsGameStart == true) DrawOmok(hWnd); EndPaint(hWnd, &ps); //////// 오목관련루틴 /// 오목초기화 void InitOmok() WhiteBrush = CreateSolidBrush(RGB(255,255,255)); BlackBrush = CreateSolidBrush(RGB(0,0,0)); for (int x = 0; x < MAXLINE-2; x++) for (int y = 0; y < MAXLINE-2; y++) Board[x][y] = NONE; 순천향대학교컴퓨터학부이상정 23 /// 스크린터치이벤트함수 void LbuttonDownEvent(HWND hwnd, int x, int y) int ix, iy; ix = (x-startx) / DELTALINE; iy = (y-starty) / DELTALINE; // 경계범위조사 if (ix < 0 ix >= MAXLINE-2 iy < 0 iy >= MAXLINE-2) return; if (Board[ix][iy] == NONE) // 다음돌표시하고화면표시 Board[ix][iy] = WhTurn? WHITE : BLACK; DrawSite(hWnd, ix, iy, Board[ix][iy]); if (IsConnected!= true) // 차례바꿈 WhTurn =!WhTurn; else // 네트워크연결이면 SendData(ix,iy); // 네트워크연결이아니면 /// 바둑판과돌화면에표시 void DrawOmok(HWND hwnd) HDC hdc = GetDC(hWnd); int px, py, endx, endy; int deltax, deltay; 순천향대학교컴퓨터학부이상정 24

13 임베디드 // 선소프트웨어간격, 끝좌표지정 deltax = deltay = DELTALINE; endx = STARTX + (MAXLINE-1)*deltaX; endy = STARTY + (MAXLINE-1)*deltaY; // 가로줄표시 for (int y = 0; y < MAXLINE; y++) py = STARTY + y*deltay; // 그려질 y 좌표 MoveToEx(hdc, STARTX, py, NULL); LineTo(hdc, endx, py); // 세로줄표시 for (int x= 0; x < MAXLINE; x++) px = STARTX + x*deltax; MoveToEx(hdc, px, STARTY, NULL); LineTo(hdc, px, endy); // 바둑돌표시 for (int x = 0; x < MAXLINE-2; x++) for (int y=0; y < MAXLINE-2; y++) DrawSite(hWnd, x, y, Board[x][y]); /// 바둑돌그림 void DrawSite(HWND hwnd, int x, int y, SITE dol) HDC hdc = GetDC(hWnd); int px, py; // 그려질 x 좌표 // 타원시작점 px = STARTX+x*DELTALINE+DELTALINE/2+1; py = STARTY+y*DELTALINE+DELTALINE/2+1; 순천향대학교컴퓨터학부이상정 25 if (dol!= NONE) // 돌이없으면 if (dol == BLACK) // 검은돌 SelectObject(hdc, BlackBrush); Ellipse(hdc, px, py, px+deltaline-2, py+deltaline-2); DeleteObject(BlackBrush); else // 흰돌 SelectObject(hdc, WhiteBrush); Ellipse(hdc, px, py, px+deltaline-2, py+deltaline-2); DeleteObject(WhiteBrush); //////////////////////////////////// //////// 네트워크관련루틴 /// 윈속초기화 bool initwinsock() WSADATA wsadata; int retval; retval = WSAStartup(MAKEWORD(2,2), ( &wsadata); if (retval!= 0) MessageBox(NULL,L"WSAStartup Fail",L"", MB_ICONERROR); return false; return true; 순천향대학교컴퓨터학부이상정 26

14 임베디드 void create_gui(hwnd 소프트웨어 hwnd) // 에디트컨트롤생성 hip = CreateWindow(L"edit", edit, NULL, WS_CHILD WS_BORDER WS_VISIBLE, 10, 40, 120, 20, hwnd, (HMENU)ID_IP, g_hinst, NULL); hport = CreateWindow(L"edit", NULL, WS_CHILD WS_BORDER WS_VISIBLE, 150, 40, 50, 20, hwnd, (HMENU)ID_PORT, g_hinst, NULL); // 버튼생성 hconnect = CreateWindow(L"button", L"Connect", WS_CHILD WS_VISIBLE BS_PUSHBUTTON, 10, 65, 120, 20, hwnd, (HMENU)ID_BUTTON, g_hinst, NULL); /// 채팅서버시작, 클라이언트의접속을받고, 메시지를수신 DWORD WINAPI ServerStart(LPVOID pdata) sockaddr_in addr; int retval; HWND hwnd = (HWND)pData; /// 서버소켓생성 server = socket(af_inet, SOCK_STREAM, 0); if (server == INVALID_SOCKET) MessageBox(hWnd,L"SocketCreate Fail",L"", MB_ICONERROR); return 0; /// 주소 / 포트지정및연결 memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_addr.s_addr = htonl(inaddr_any); // 서버의 IP 주소 addr.sin_port = htons(7000); // 서버포트를 7000으로지정 retval = bind(server, (struct sockaddr *)&addr, sizeof(addr)); 순천향대학교컴퓨터학부이상정 27 임베디드 if (retval 소프트웨어 == SOCKET_ERROR) MessageBox(hWnd,L"Bind Fail",L"", MB_ICONERROR); return 0; /// 클라이언트접속대기 retval = listen(server, SOMAXCONN); // 클라이언트개수를최대로설정 if (retval == SOCKET_ERROR) ERROR) MessageBox(hWnd,L"Listen Fail",L"", MB_ICONERROR); return 0; /// 메시지출력 MessageBox(hWnd,L"Server Start... r n",l"", MB_OK); /// 클라이언트접속 sockaddr_in client_addr; int addrlen; addrlen = sizeof(client_addr); client = accept(server, (struct sockaddr *)&client_addr, &addrlen); if (client == INVALID _ SOCKET) ) MessageBox(hWnd,L"Accept Fail",L"", MB_ICONERROR); return 0; IsConnected = true; /// 접속한클라이언트 IP 주소출력 CHAR bip[50]; WCHAR ip[50], szmsg[80]; strcpy(bip, inet_ntoa(client_addr.sin_addr)); // 숫자 IP주소를문자열로변환 mbstowcs(ip, bip, strlen(bip)+1); // ASCII 문자를유니코드로변환 wsprintf(szmsg, L"Start game with IP %s r n", ip); 순천향대학교컴퓨터학부이상정 28

15 MessageBox(hWnd,szMsg, L"", MB_OK); // 바둑판그림 IsGameStart = true; WhTurn = true; // 서버는흰돌 InvalidateRect(hWnd, NULL, true); /// Receive 쓰레드생성및실행 hrecvthread = CreateThread(NULL, 0, ReceiveData,(PVOID)hWnd, 0, NULL); return 0; /// Connect 버튼클릭함수 void ConnectClick(HWND hwnd) if (IsClient == false) // 서버에접속할경우 if (Connect(hWnd)( == false) // 서버에연결요청 MessageBox(hWnd,L"Connect Fail",L"", MB_ICONERROR); else IsClient = true; else // 이미접속된경우 MessageBox(hWnd,L"Already connected",l"", MB_ICONERROR); 순천향대학교컴퓨터학부이상정 29 // 서버에연결요청함수 bool Connect(HWND hwnd) sockaddr_in serveraddr; CHAR bip[20]; int retval, port; /// 소켓생성 client = socket(af_inet, SOCK_STREAM, 0); if (client == INVALID_SOCKET) return false; /// 접속할서버주소 / 포트지정및연결 wcstombs(bip, szip, wcslen(szip)+1); // 유니코드를 ASCII 문자로변환 port = _wtoi(szport); // 포트번호문자열을정수로변환 memset(&serveraddr, 0, sizeof(serveraddr)); serveraddr.sin_family = AF_INET; serveraddr.sin_ addr.s_ addr = inet_ addr(bip); // 서버의 IP 주소 serveraddr.sin_port = htons(port); // 포트번호 retval = connect(client, (struct sockaddr *)&serveraddr, sizeof(serveraddr)); if (retval == SOCKET_ERROR) return false; IsConnected = true; /// Receive 쓰레드생성및실행 hrecvthread = CreateThread(NULL, 0, ReceiveData,(PVOID)hWnd, 0, NULL); 순천향대학교컴퓨터학부이상정 30

16 /// 버튼, 에디트제거 DestroyWindow(hIP); DestroyWindow(hPort); DestroyWindow(hConnect); /// 메시지출력 MessageBox(hWnd,L"Start game r n",l"", MB_OK); /// 바둑판그림 IsGameStart = true; WhTurn = false; // 클라이언트는검은돌 InvalidateRect(hWnd, NULL, true); return true; /// 데이터송신함수 void SendData(int x, int y) CHAR ix[4], iy[4]; *(UINT *)ix = htonl(x); () // host-to-network 바이트변환 send(client, ix, 4, 0); // x 데이터송신 *(UINT *)iy = htonl(y); // host-to-network 바이트변환 send(client, iy, 4, 0); // x 데이터송신 순천향대학교컴퓨터학부이상정 31 /// 메시지수신쓰레드함수 DWORD WINAPI ReceiveData(LPVOID pdata) CHAR ix[4], iy[4]; int x, y, size; HWND hwnd = (HWND)pData; // 핸들인수 while (IsConnected == true) // x 데이터수신 size = recv(client, ix, 4, 0); // x 데이터수신 if (size!= SOCKET_ERROR) x = ntohl(*(uint *)ix); // nework-to-host 바이트변환 // y 데이터수신 recv(client, iy, 4, 0); // x 데이터수신 if (size!= SOCKET_ERROR) y = ntohl(*(uint *)iy); // nework-to-host 바이트변환 if (Board[x][y] == NONE) // 다음돌표시하고화면표시 Board[x][y] =!WhTurn? WHITE : BLACK; // 상대편돌표시 DrawSite(hWnd, x, y, Board[x][y]); [][]) return 0; 순천향대학교컴퓨터학부이상정 32

17 예제 50: 코드 /// 네트워크중지함수 void NetworkStop() if (IsConnected == true) // 클라이언트연결상태이면 IsConnected = false; // Receive 쓰레드종료 closesocket(client); // 소켓해제 closesocket(server); MessageBox(NULL,L"Connection is closed. r n",l"stop", MB_OK); 순천향대학교컴퓨터학부이상정 33 과제 17 예제 50 의인터넷오목게임에승부를판정하는기능을추가하여라 최근에놓인돌을기준으로같은색의돌이수직, 수평, 대각선으로 5 개연속해서놓여있는지조사 수평조사 현재위치의 x 좌표기준으로좌 (--x) x), 우 (++x) 로다른색의돌을만날때까지개수카운트하여 5개이면승리 수직조사 현재위치의 y 좌표기준으로상 (--y), 하 (++y) 로다른색의돌을만날때까지개수카운트하여 5개이면승리 대각선조사 현재위치의 x,y 좌표기준으로좌상 (--x, --y), 우하 (++x, ++y) 로다른색의돌을만날때까지개수카운트하여 5개이면승리 현재위치의 x,y 좌표기준으로좌하 (--x, ++y), 우상 (++x, --y) 로다른색의돌을만날때까지개수카운트하여 5개이면승리 순천향대학교컴퓨터학부이상정 34

Microsoft PowerPoint - 09-CE-24-채팅 프로그램

Microsoft PowerPoint - 09-CE-24-채팅 프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기 채팅을위한연결요청시클라이언트로동작

More information

Microsoft PowerPoint - 09-CE-23-윈도우 소켓

Microsoft PowerPoint - 09-CE-23-윈도우 소켓 순천향대학교컴퓨터학부이상정 1 학습내용 인터넷과 TCP/IP 프로토콜 소켓의생성과해제 소켓주소표현 연결지향소켓프로그래밍 순천향대학교컴퓨터학부이상정 2 인터넷과 TCP/IP 프로토콜 순천향대학교컴퓨터학부이상정 3 인터넷구조의프로토콜계층 인터넷구조의프로토콜계층 응용계층 (application layer) 응용서비스제공 http, ftp, smtp, telnet,

More information

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö4Àå_ÃÖÁ¾ P a 02 r t Chapter 4 TCP Chapter 5 Chapter 6 UDP Chapter 7 Chapter 8 GUI C h a p t e r 04 TCP 1 3 1 2 3 TCP TCP TCP [ 4 2] listen connect send accept recv send recv [ 4 1] PC Internet Explorer HTTP HTTP

More information

Microsoft PowerPoint - 09-CE-14-리스트콤보박스

Microsoft PowerPoint - 09-CE-14-리스트콤보박스 순천향대학교컴퓨터학부이상정 1 학습내용 리스트박스컨트롤 다이얼로그와리스트박스 콤보박스컨트롤 순천향대학교컴퓨터학부이상정 2 리스트박스컨트롤 순천향대학교컴퓨터학부이상정 3 리스트박스컨트롤 사용자가선택할수있는항목들을여러개나열해두고선택할수있는컨트롤 윈도우클래스의이름은 "listbox" 생성예 hlist=createwindow(l"listbox",null,ws_child

More information

Microsoft PowerPoint - 09-CE-5-윈도우 핸들

Microsoft PowerPoint - 09-CE-5-윈도우 핸들 순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정

More information

Microsoft PowerPoint - 09-CE-7-선과 도형

Microsoft PowerPoint - 09-CE-7-선과 도형 순천향대학교컴퓨터학부이상정 1 학습내용 디바이스컨텍스트 WM_PAINT 선, 도형그리기 GDI 객체 펜, 브러쉬 순천향대학교컴퓨터학부이상정 2 디바이스컨텍스트 순천향대학교컴퓨터학부이상정 3 디바이스컨텍스트 (1) 윈도우즈에서화면출력 ( 텍스트출력과차이점 ) 화면을사용할수있는권한이제약 자신이차지하는영역에만그림을그릴수있다. 좌표를계산하는방법이다르다 자기의윈도우즈의좌표를기준으로출력

More information

2009년 상반기 사업계획

2009년 상반기 사업계획 소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버

More information

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode] TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

04장 메시지 처리 유형

04장 메시지 처리 유형 4 장 메시지처리유형 김성영교수 금오공과대학교 컴퓨터공학부 메시지처리유형 윈도우에서발생하는이벤트에대응하는윈도우메시지를처리 2 장및 3 장의실습예제 자식윈도우에서발생한이벤트를부모윈도우에서처리 WM_COMMAND 메시지처리 실습 4.2 자식윈도우에서발생한사건유형을구분하여처리 Notification code 처리 실습 4.7 Notification code 의한계를극복하여처리

More information

Chapter 1. MFC 시작하기

Chapter 1.  MFC 시작하기 Chapter 1. MFC 시작하기 1. MFC(Microsoft Foundation Class) 개요 2. Visual Studio 2015 프로그램설치하기 3. 마우스클릭프로그램작성 4. 그림그리기프로그램작성 5. 마우스좌표값구하기프로그램작성 1 1.1. MFC 개요 2 1.1.1. C++ 언어 객체지향언어 (Object-Oriented Programming,

More information

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt

Microsoft PowerPoint - 12 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 1.ppt 12 장 소켓을이용한통신 (1) 함수 - inet_addr - inet_ntoa - socket - bind - listen - accept - connect - recv -send 1 서론 파이프를사용하여통신을하기위한시스템호출 / 표준라이브러리함수 함수 의미 inet_addr 문자열형태의인터넷주소를바이너리형태로변환한다. inet_ntoa 바이너리형태의인터넷주소를문자열형태로변환한다.

More information

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D> 01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기

More information

vi 사용법

vi 사용법 네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o

More information

1장 윈도우 프로그래밍 들어가기

1장 윈도우 프로그래밍 들어가기 1 장 윈도우프로그래밍들어가기 김성영교수 금오공과대학교 컴퓨터공학부 예제 다음프로그램은언제종료할까? #include #define QUIT -1 int Func(void) int i; cout > i; return i; void main(void) int Sum = 0, i; cout

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

MFC 프로그래밍

MFC 프로그래밍 윈도우프로그래밍 Visual C++ 2010 MFC Programming 1 장. 윈도우프로그래밍기초 윈도우운영체제의특징 그래픽사용자인터페이스 시스템메뉴타이틀바메뉴최소 / 최대 / 닫기버튼 툴바 대화상자 클라이언트영역 상태표시줄 스크롤바 윈도우운영체제의특징 메시지구동구조 윈도우운영체제의특징 멀티태스킹과멀티스레딩 멀티태스킹 (Multitasking) 운영체제가여러개의응용프로그램을동시에실행

More information

K&R2 Reference Manual 번역본

K&R2 Reference Manual 번역본 typewriter structunion struct union if-else if if else if if else if if if if else else ; auto register static extern typedef void char short int long float double signed unsigned const volatile { } struct

More information

제1장 Unix란 무엇인가?

제1장  Unix란 무엇인가? 1 13 장소켓 2 13.1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 getaddrinfo() 를활용한주소 범용 (Generic) 코드 주소범용 (Generic) 코드란? 주소버전

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 윈도우프로그래밍및실습 003. 출력 DB & MINING LAB. Korea University 2 nd updated 2012. 08. 18 Last updated 2015. 08. 26 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter How to show some information on your screen

More information

9장 윈도우 소켓 프로그래밍

9장   윈도우 소켓 프로그래밍 윈도우소켓프로그래밍 _A_2015 버전 IT CookBook, 윈도우 API 프로그래밍 한빛미디어의윈도우 API 프로그래밍, 윈도우네트워크프로그래밍, 혜지원 API programming 을참조함! Updated 2015.11.22 1 학습목표 TCP/IP 프로토콜의개념을이해하고, 윈도우프로그래밍을이용한간단한채팅프로그램을작성하여이해도를높인다. 내용 소켓연결 메시지교환

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 네트워크프로그래밍 02 장 TCP 소켓 (1) 1 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 2 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당

More information

hd132x_k_v1r3_Final_.PDF

hd132x_k_v1r3_Final_.PDF HelloDevice ( HD1320E/1320/1321) Version 11 1 2 1 2 3 31 HD1320/1320E 311 312 313 RS232 32 HD1321 321 322 33 4 41 42 421 HD1320/1320E 422 HD1321 43 431 IP 432 IP 44 441 442 443 RS232 5 51 52 521 TCP 522

More information

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >

<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E > 웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)

More information

2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 중부대학교정보보호학과

2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 중부대학교정보보호학과 2014 년정보보호졸업작품보고서 파일유출방지시스템 지도교수님 : 양환석교수님 팀명 : LKC Security 팀원 : 이호영, 김상우, 최유택 2014. 5 중부대학교정보보호학과 목 차 1. 프로젝트설명 1 2. 연구계획 1 2.1 연구목적 1 2.2 연구방법 2 2.3 연구개요 2 2.4 연구구성도 3 3. 연구프로그램구축 5 3.1 주요소스 5 3.2 실행결과

More information

Microsoft PowerPoint PythonGUI-socket

Microsoft PowerPoint PythonGUI-socket : 채팅프로그래밍 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 스레드소개 파이썬스레드 채팅클라이언트 / 서버프로그램 순천향대학교컴퓨터공학과 2 네트워크요소 네트워크가장자리 (edge) 호스트 : 클라이언트와서버

More information

Microsoft PowerPoint - 04-UDP Programming.ppt

Microsoft PowerPoint - 04-UDP Programming.ppt Chapter 4. UDP Dongwon Jeong djeong@kunsan.ac.kr http://ist.kunsan.ac.kr/ Dept. of Informatics & Statistics 목차 UDP 1 1 UDP 개념 자바 UDP 프로그램작성 클라이언트와서버모두 DatagramSocket 클래스로생성 상호간통신은 DatagramPacket 클래스를이용하여

More information

윈도우 프로그래밍

윈도우 프로그래밍 Windows Programming 2013. 3 출처 : 인터넷에서수집한 PT 자료 1. Overview Getting Started (1) 관련도서 Visual C++/API 프로젝트따라하기, 오진환, 컴스페이스 Programming Windows, Charles Petzold, Microsoft Press Windows application Programming

More information

슬라이드 1

슬라이드 1 Computer Networks Practice Socket 1 DK Han Junghwan Song dkhan@mmlab.snu.ac.kr jhsong@mmlab.snu.ac.kr 2012-3-26 Multimedia and Mobile communications Laboratory Introduction Client / Server model Server

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 1 목포해양대해양컴퓨터공학과 2 장. TCP 소켓 네트워크프로그램설계 2 목포해양대해양컴퓨터공학과 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 3 목포해양대해양컴퓨터공학과

More information

Microsoft PowerPoint - 04windows.ppt

Microsoft PowerPoint - 04windows.ppt Game Programming I Windows 프로그래밍 (1) March 27, 2006 목표 윈도우프로그래밍에서이용되는이벤트구동프로그래밍모델의이해 Direct3D 를이용하는윈도우어플리케이션의작성을위한최소한의코드이해 윈도우 (Win32) 어플리케이션 Direct3D API ( 어플리케이션프로그래밍인터페이스 ) 를이용하기위해필요 Win32 API 를이용해작성

More information

Microsoft PowerPoint - 06-CompSys-16-Socket.ppt

Microsoft PowerPoint - 06-CompSys-16-Socket.ppt 소켓시스템콜소개 TCP 클라이언트 / 서버프로그래밍 signal(), fork() 시스템콜 TCP 클라이언트 / 서버프로그래밍예 talk_client.c, talk_server.c UDP 클라이언트 / 서버프로그래밍 순천향대학교컴퓨터학부이상정 1 소켓시스템콜소개 순천향대학교컴퓨터학부이상정 2 소켓 (socket) 소켓은 TCP/IP 프로토콜을이용하기위한시스템콜인터페이스

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Win32 API Windows Programming 1 http://idb.korea.ac.kr DB & Mining LAB. Korea Univ. 최종업데이트 : 2012. 08. 14 1 컴퓨터시스템의주요구성요소 2 2 컴퓨터하드웨어구성 Fetch : 메인메모리에저장되어있는명령어를 CPU 로 Decode : 컨트롤유닛에의해분석 Execution : ALU

More information

슬라이드 1

슬라이드 1 핚국산업기술대학교 제 14 강 GUI (III) 이대현교수 학습안내 학습목표 CEGUI 라이브러리를이용하여, 게임메뉴 UI 를구현해본다. 학습내용 CEGUI 레이아웃의로딩및렌더링. OIS 와 CEGUI 의연결. CEGUI 위젯과이벤트의연동. UI 구현 : 하드코딩방식 C++ 코드를이용하여, 코드내에서직접위젯들을생성및설정 CEGUI::PushButton* resumebutton

More information

목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조

목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 C++ 이용한포트스캔 Winpcap 이용기존수업시간 Client, BasicDump 코드이용 제출일 2016, 06, 01 전공사이버경찰학과 과목네트워크보안프로그래밍학번 10121702 담당교수소길자이름김주명 목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 02 03 05 06 11 12 2 포트스캔코드 #include "stdafx.h"

More information

Microsoft PowerPoint - 09-EDU-15-채팅 프로그래밍

Microsoft PowerPoint - 09-EDU-15-채팅 프로그래밍 15. 채팅프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스, Form 클래스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기

More information

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]

Microsoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드] - Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소

More information

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]

Microsoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드] 소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,

More information

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD> 2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)

More information

Microsoft PowerPoint - 03-TCP Programming.ppt

Microsoft PowerPoint - 03-TCP Programming.ppt Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)

More information

슬라이드 1

슬라이드 1 2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2007년가을학기 9/13/2007 박경신 2 윈도우운영체제특징 그래픽사용자인터페이스 (Graphical User Interface,

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

untitled

untitled 자료형 기본자료형 : char, int, float, double 등 파생자료형 : 배열, 열거형, 구조체, 공용체 vs struct 구조체 _ 태그 _ 이름 자료형멤버 _ 이름 ; 자료형멤버 _ 이름 ;... ; struct student int number; // char name[10]; // double height; // ; // x값과 y값으로이루어지는화면의좌표

More information

Microsoft PowerPoint - CSharp-15-채팅

Microsoft PowerPoint - CSharp-15-채팅 Socket 클래스이용한채팅프로그램 스트림방식의채팅프로그램 헬퍼클래스방식의채팅프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 Socket 클래스이용한채팅프로그램 스트림방식의채팅프로그램 헬퍼클래스방식의채팅프로그램 순천향대학교컴퓨터학부이상정 2 Socket 클래스이용한채팅프로그램 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 7 장컨트롤 VS 2015 007. 윈도우프로그래밍 Updated 2010. 10. 11 Updated 2012. 09. 18 Updated 2015. 09. 15 http://idb.korea.ac.kr DB & Data Mining LAB. Korea University 이종욱 eastwest9@korea.ac.kr 1 7-1 컨트롤의정의 1 컨트롤 (control)

More information

Microsoft PowerPoint - 15-EmbedSW-10-Socket

Microsoft PowerPoint - 15-EmbedSW-10-Socket 10. 소켓개요 TCP 클라이언트 / 서버프로그래밍절차 오드로이드 I/O 소켓프로그램예 순천향대학교컴퓨터공학과이상정 1 소켓 (Socket) 운영체제복습 소켓 (socket) 은통신의극점 (endpoint) 을정의 소켓은 IP 주소와포트번호두가지를접합 (concatenate) 해서구별 두프로세스의네트워크통신에각각하나씩두개의소켓이필요 순천향대학교컴퓨터공학과 2

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 System Software Experiment 1 Lecture 5 - Array Spring 2019 Hwansoo Han (hhan@skku.edu) Advanced Research on Compilers and Systems, ARCS LAB Sungkyunkwan University http://arcs.skku.edu/ 1 배열 (Array) 동일한타입의데이터가여러개저장되어있는저장장소

More information

예제와 함께 배워보는 OllyDbg사용법

예제와 함께 배워보는 OllyDbg사용법 초보자를위한예제와함께 배워보는 OllyDbg 사용법 -1 부 - By Beist Security Study Group (http://beist.org) 요약 : 이문서는 Ollydbg 프로그램을이용하여 Reverse Engineering을하는방법에대해서다룬다. 초보자를위하여작성된문서이며예제와함께 Ollydbg의각기능에대해서알아본다. 주로기초적인내용을다루고있다.

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt

Microsoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt 13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.

More information

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770>

<33372DC0A9B5B5BFECC7C1B7CEB1D7B7A1B9D62E687770> 2010 학년도동계 계절수업시험문제지 출제위원 방송대김강현 학과명학번 - 성 명 감독관확인 ( 인 ) 교과목명 교과목코드 윈도우프로그래밍 3 7 출제범위 교재전체 ( 해당강의포함 ) 문항수 50 문항 [50 문항 2 점 =100 점 ] 유의사항 1. OMR 답안지및문제지인적사항표기는반드시컴퓨터용사인펜으로할것 2. 표기한답안은정정이일절불가하니답안표기에각별히유의할것

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

untitled

untitled int i = 10; char c = 69; float f = 12.3; int i = 10; char c = 69; float f = 12.3; printf("i : %u\n", &i); // i printf("c : %u\n", &c); // c printf("f : %u\n", &f); // f return 0; i : 1245024 c : 1245015

More information

Microsoft PowerPoint - hci2-lecture1.ppt

Microsoft PowerPoint - hci2-lecture1.ppt Overview 윈도우프로그래밍기초 윈도우운영체제와윈도우응용프로그램의특징이해 SDK 응용프로그램작성과정, 기본구조, 동작원리이해 MFC 응용프로그램작성과정, 기본구조, 동작원리이해 HCI Programming 2 (321190) 2008년가을학기 9/16/2008 박경신 2 Windows.NET 구조적프로그램에서객체지향프로그램으로 SDK(Software Development

More information

(Microsoft Word - \301\337\260\243\260\355\273\347.docx)

(Microsoft Word - \301\337\260\243\260\355\273\347.docx) 내장형시스템공학 (NH466) 중간고사 학번 : 이름 : 문제 배점 점수 1 20 2 20 3 20 4 20 5 10 6 10 7 15 8 20 9 15 합계 150 1. (20 점 ) 다음용어에대해서설명하시오. (1) 정보은닉 (Information Hiding) (2) 캡슐화 (Encapsulation) (3) 오버로딩 (Overloading) (4) 생성자

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

슬라이드 1

슬라이드 1 1 Computer Networks Practice #1-1 - Socket Programming 이지민 (jmlee@mmlab.snu.ac.kr) 장동현 (dhjang@mmlab.snu.ac.kr) 2011. 9. 14 2 Transport layer 가하는일 Reliability 패킷젂송에오류가생기면잧젂송함으로써마치 오류가나지않는것처럼 싞뢰된젂송을 Application

More information

Microsoft PowerPoint - chap13-입출력라이브러리.pptx

Microsoft PowerPoint - chap13-입출력라이브러리.pptx #include int main(void) int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; 1 학습목표 스트림의 기본 개념을 알아보고,

More information

유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 중부대학교정보보호학과

유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 중부대학교정보보호학과 유저영역후킹탐지시스템 팀 명 : D.N.F (Do Not Fishing) 지도교수 : 유승재교수님 팀 장 : 신동순 팀 원 : 서현찬이치목 2016. 05 중부대학교정보보호학과 목 차 1. 서론 2. 관련연구 2.1 IAT 후킹 2.2 PE 구조 3. 본론 3.1 유저영역후킹작성및실행 3.2 유저영역후킹탐지 4. 결론 5. 참고자료 6. 발표자료 1. 서론

More information

Microsoft Word - KPMC-400,401 SW 사용 설명서

Microsoft Word - KPMC-400,401 SW 사용 설명서 LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동

More information

Microsoft PowerPoint C-구조체

Microsoft PowerPoint C-구조체 순천향대학교컴퓨터공학과이상정 1 학습내용 구조체 (structure) 구조체선언, 멤버참조 구조체초기화, 인수전달 자기참조구조체, 연결리스트 공용체 (union) 비트필드 (bit field) 순천향대학교컴퓨터공학과 2 구조체란? 구조체는하나의변수명으로여러개의상이한자료를한꺼번에다루려고할때사용 구조체선언 struct 태그명 ; 멤버리스트 순천향대학교컴퓨터공학과

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

윈도우즈 프로그래밍

윈도우즈 프로그래밍 윈도우프로그래밍및실습 002. 윈도우프로그래밍의기본 DB & MINING LAB. Korea University since 2007. 09. 03 updated 2012. 08. 18 last updated 2015. 08. 25 이종욱 eastwest9@korea.ac.kr 1 Purpose of this chapter What is a Window programming

More information

Microsoft Word - Network Programming_NewVersion_01_.docx

Microsoft Word - Network Programming_NewVersion_01_.docx 10. Unix Domain Socket 105/113 10. Unix Domain Socket 본절에서는 Unix Domain Socket(UDS) 에대한개념과이에대한실습을수행하고, 이와동시에비신뢰적인통신시스템의문제점에대해서분석하도록한다. 이번실습의목표는다음과같다. 1. Unix Domain Socket의사용법을익히고, IPC에대해서실습 2. TCP/IP의응용계층과전달계층의동작을구현및실습

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

C프로-3장c03逞풚

C프로-3장c03逞풚 C h a p t e r 03 C++ 3 1 9 4 3 break continue 2 110 if if else if else switch 1 if if if 3 1 1 if 2 2 3 if if 1 2 111 01 #include 02 using namespace std; 03 void main( ) 04 { 05 int x; 06 07

More information

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2> 게임엔진 제 4 강프레임리스너와 OIS 입력시스템 이대현교수 한국산업기술대학교게임공학과 학습내용 프레임리스너의개념 프레임리스너를이용한엔터티의이동 OIS 입력시스템을이용한키보드입력의처리 게임루프 Initialization Game Logic Drawing N Exit? Y Finish 실제게임루프 오우거엔진의메인렌더링루프 Root::startRendering()

More information

<4D F736F F D2034C0E52D554E495820BCD2C4CF20C0C0BFEB20C7C1B7CEB1D7B7A1B9D6>

<4D F736F F D2034C0E52D554E495820BCD2C4CF20C0C0BFEB20C7C1B7CEB1D7B7A1B9D6> 4. UNIX 소켓응용프로그래밍 4.1 소켓의동작모드 소켓의동작모드 blocking, non-blocking, 그리고비동기 (asynchronous) 모드 소켓을처음생성하면 blocking 모드의소켓이생성 blocking 모드소켓 어떤소켓관련시스템콜을호출하였을때네트웍시스템 ( 즉, TCP/IP) 이동작을완료할때까지응용프로세스가멈추어있게 (block) 되는소켓

More information

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770>

<43B7CE20BECBBEC6BAB8B4C220BCD2C4CFC7C1B7CEB1D7B7A1B9D62E687770> C 로알아보는 소켓프로그래밍 이현환 (NOON) haonun@gmail.com http://noon.tistory.com Hacking Study Grup E.Y.E -------------------------------------------------------------------- 목차 --------------------------------------------------------------------

More information

Microsoft PowerPoint PythonGUI-network

Microsoft PowerPoint PythonGUI-network 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 쓰레드소개 파이썬쓰레드 채팅클라이언트 / 서버프로그램 네트워크그리드셀예 네트워크연결그리드그리기 순천향대학교컴퓨터공학과 2 구성요소로본인터넷 (1) 호스트 (host),

More information

Lab 3. 실습문제 (Single linked list)_해답.hwp

Lab 3. 실습문제 (Single linked list)_해답.hwp Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.

More information

문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 본문서는원문작성자 (Peter Van Eeckhoutte) 의허가하에번역및배포하는문서로, 원문과관련된모든내용의저작권은 Corelan에있으며, 추가된내용에대해서는 ( 주 ) 한국정보보호교육센터에

문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 본문서는원문작성자 (Peter Van Eeckhoutte) 의허가하에번역및배포하는문서로, 원문과관련된모든내용의저작권은 Corelan에있으며, 추가된내용에대해서는 ( 주 ) 한국정보보호교육센터에 문서번호 13-VN-06 공격코드작성따라하기 ( 원문 : 공격코드 Writing Tutorial 4) 2013.1 작성자 : ( 주 ) 한국정보보호교육센터서준석주임연구원 오류신고및관련문의 : nababora@naver.com 문서개정이력 개정번호개정사유및내용개정일자 1.0 최초작성 2013.01.31 본문서는원문작성자 (Peter Van Eeckhoutte)

More information

KNK_C_05_Pointers_Arrays_structures_summary_v02

KNK_C_05_Pointers_Arrays_structures_summary_v02 Pointers and Arrays Structures adopted from KNK C Programming : A Modern Approach 요약 2 Pointers and Arrays 3 배열의주소 #include int main(){ int c[] = {1, 2, 3, 4}; printf("c\t%p\n", c); printf("&c\t%p\n",

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 5 장생성자와접근제어 1. 객체지향기법을이해한다. 2. 클래스를작성할수있다. 3. 클래스에서객체를생성할수있다. 4. 생성자를이용하여객체를초기화할수 있다. 5. 접근자와설정자를사용할수있다. 이번장에서만들어볼프로그램 생성자 생성자 (constructor) 는초기화를담당하는함수 생성자가필요한이유 #include using namespace

More information

03_queue

03_queue Queue Data Structures and Algorithms 목차 큐의이해와 ADT 정의 큐의배열기반구현 큐의연결리스트기반구현 큐의활용 덱 (Deque) 의이해와구현 Data Structures and Algorithms 2 큐의이해와 ADT 정의 Data Structures and Algorithms 3 큐 (Stack) 의이해와 ADT 정의 큐는 LIFO(Last-in,

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

목 차 1. 포트스캐닝 (Port Scanning) 이란? 2. 포트 (Port) 란? 3. 스캔 (Scan) 의종류 4. 포트스캐너 (Port Scanner) 구현 5. 포트스캔 (Port Scan) 구현 6. 참조

목 차 1. 포트스캐닝 (Port Scanning) 이란? 2. 포트 (Port) 란? 3. 스캔 (Scan) 의종류 4. 포트스캐너 (Port Scanner) 구현 5. 포트스캔 (Port Scan) 구현 6. 참조 R E P O R T 제목 : 포트스캐닝 (Port Scanning) 과목명 : 네트워크보안프로그래밍 학 과 : 사이버경찰학과 학 번 : 10100245 이 름 : 김민관 제출일 : 2016년 6월 10일 ( 금 ) 담당교수 : 소길자교수님 목 차 1. 포트스캐닝 (Port Scanning) 이란? 2. 포트 (Port) 란? 3. 스캔 (Scan) 의종류

More information

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770> i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,

More information

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal.

3. 다음장에나오는 sigprocmask 함수의설명을참고하여다음프로그램의출력물과그출력물이화면이표시되는시점을예측하세요. ( 힌트 : 각줄이표시되는시점은다음 4 가지중하나. (1) 프로그램수행직후, (2) kill 명령실행직후, (3) 15 #include <signal. 학번 : 이름 : 1. 다음가정하에서아래프로그램의출력물을예측하세요. 가정 : 부모프로세스의 process id=20100, 자식프로세스의 process id=20101. int glob = 31; /* external variable in initialized data */ char buf[] = "a write to stdout\n"; int main(void)

More information

Microsoft PowerPoint - es-arduino-lecture-03

Microsoft PowerPoint - es-arduino-lecture-03 임베디드시스템개론 : Arduino 활용 Lecture #3: Button Input & FND Control 2012. 3. 25 by 김영주 강의목차 디지털입력 Button switch 입력 Button Debounce 7-Segment FND : 직접제어 7-Segment FND : IC 제어 2 디지털입력 : Switch 입력 (1) 실습목표 아두이노디지털입력처리실습

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5계층 (4계층) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점

More information

윈도우 프로그래밍의 개념

윈도우 프로그래밍의 개념 제 8 장컨트롤과리소스 II 8.1 탭컨트롤 8.2 슬라이더컨트롤실습 8-1 도형의종류와색상출력하기 8.3 스핀컨트롤 8.4 프로그레스바컨트롤 8.5 IP 주소컨트롤 8.6 네트워크주소컨트롤 8.7 날짜 / 시간컨트롤 8.8 애니메이트컨트롤실습 8.2 데이터전송시뮬레이터작성하기 컨트롤및리소스 리스트컨트롤 (List Control) 트리컨트롤 (Tree Control)

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

03장.스택.key

03장.스택.key ---------------- DATA STRUCTURES USING C ---------------- 03CHAPTER 1 ? (stack): (LIFO:Last-In First-Out) 2 : top : ( index -1 ),,, 3 : ( ) ( ) -> ->. ->.... 4 Stack ADT : (LIFO) : init():. is_empty():

More information

윤성우의 열혈 TCP/IP 소켓 프로그래밍

윤성우의 열혈 TCP/IP 소켓 프로그래밍 C 프로그래밍프로젝트 Chap 22. 구조체와사용자정의자료형 1 2013.10.10. 오병우 컴퓨터공학과 구조체의정의 (Structure) 구조체 하나이상의기본자료형을기반으로사용자정의자료형 (User Defined Data Type) 을만들수있는문법요소 배열 vs. 구조체 배열 : 한가지자료형의집합 구조체 : 여러가지자료형의집합 사용자정의자료형 struct

More information

Microsoft PowerPoint - 제11장 포인터

Microsoft PowerPoint - 제11장 포인터 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Microsoft PowerPoint - 제11장 포인터(강의)

Microsoft PowerPoint - 제11장 포인터(강의) 쉽게풀어쓴 C 언어 Express 제 11 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 1003 1004 1005 영화관 1002 1006 1001 포인터 (pointer) 1007 메모리의구조

More information

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp

Lab 4. 실습문제 (Circular singly linked list)_해답.hwp Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular

More information

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A

<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A 학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스

More information

윈도우 프로그래밍의 개념

윈도우 프로그래밍의 개념 제 7 장컨트롤과리소스 I 7.1 리스트컨트롤실습 7-1 대화상자에리스트컨트롤만들기 7.2 트리컨트롤실습 7-2 대화상자에트리컨트롤만들기 컨트롤및리소스 리스트컨트롤 (List Control) 트리컨트롤 (Tree Control) 탭컨트롤 (Tab Control) 슬라이드컨트롤 (Slider Control) 스핀컨트롤 (Spin Control) 프로그레스바컨트롤

More information

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Crash Unity SDK... Log & Crash Search. - Unity3D v4.0 ios

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목포해양대해양컴퓨터공학과 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 목포해양대해양컴퓨터공학과 기존 IPv4 전용, IPv6 전용코드의 취약성 전용주소코드

More information