9장 윈도우 소켓 프로그래밍
|
|
- 상이 엄
- 6 years ago
- Views:
Transcription
1 윈도우소켓프로그래밍 _A_2015 버전 IT CookBook, 윈도우 API 프로그래밍 한빛미디어의윈도우 API 프로그래밍, 윈도우네트워크프로그래밍, 혜지원 API programming 을참조함! Updated
2 학습목표 TCP/IP 프로토콜의개념을이해하고, 윈도우프로그래밍을이용한간단한채팅프로그램을작성하여이해도를높인다. 내용 소켓연결 메시지교환 논블록킹통신 채팅프로그램 2/55
3 1 절. 소켓연결 네트워크응용프로그램 두개의독립된프로그램이서로정보를교환 소켓통신방법 정보를교환하기위한일반적으로사용하는방법 소켓은 IP주소와포트번호로이루어진컴퓨터통신의끝점으로표준화된인터페이스를제공 윈도우즈소켓을이용을위한환경설정 윈도우소켓을윈속 (Winsock) 이라부름 프로젝트환경에라이브러리 ws2_32.lib 를추가해주어야함 3
4 TCP 서버 / 클라이언트동작원리 (1/3) TCP 서버 / 클라이언트예 GET / HTTP/1.1 Accept: image/gif,... 웹서버 <HTML> <HEAD>...</HEAD>... TCP 서버 / 클라이언트동작방식 웹클라이언트 웹클라이언트 TCP 서버 TCP 클라이언트 listen accept connect recv send 네트워크 send recv 4
5 TCP 서버 / 클라이언트동작원리 (2/3) TCP 서버 / 클라이언트동작방식 (cont d) 1 서버는먼저실행하여클라이언트가접속하기를기다린다 (listen). 2 클라이언트가서버에게접속 (connect) 하여데이터를보낸다 (send). 3 서버는클라이언트접속을수용하고 (accept), 클라이언트가보낸데이터를받아서 (recv) 처리한다. 4 서버는처리한데이터를클라이언트에게보낸다 (send). 5 클라이언트는서버가보낸데이터를받아서 (recv) 자신의목적에맞게사용한다. 5
6 TCP 서버 / 클라이언트동작원리 (3/3) TCP 서버 / 클라이언트동작원리 TCP 서버 TCP 서버 TCP 서버 TCP 서버 대기 클라이언트접속 통신 대기 통신 대기 통신 TCP 클라이언트 #1 TCP 클라이언트 #1 TCP 클라이언트 #1 TCP 클라이언트 #2 fgets() send() recv() printf() TCP 클라이언트 TCP 서버 printf() recv() send() 6
7 TCP 서버 / 클라이언트분석 소켓데이터구조체 애플리케이션 서버 네트워크 클라이언트 지역 IP 주소 지역 IP 주소 지역포트번호 지역포트번호 운영체제 원격 IP 주소 원격 IP 주소 원격포트번호 원격포트번호 7
8 TCP 서버함수 (1/4) TCP 서버함수 TCP 서버 socket() TCP 클라이언트 socket() bind() listen() accept() connect() recv() 네트워크 send() send() recv() closesocket() closesocket() 8
9 TCP 서버함수 (2/4) bind() 함수 서버의지역 IP 주소와지역포트번호를결정 int bind ( SOCKET s, const struct sockaddr* name, int namelen ) ; 성공 : 0, 실패 : SOCKET_ERROR 9
10 TCP 서버함수 (3/4) listen() 함수 소켓과결합된 TCP 포트상태를 LISTENING 으로변경 int listen ( SOCKET s, int backlog ) ; 성공 : 0, 실패 : SOCKET_ERROR 10
11 TCP 서버함수 (4/4) accept() 함수 접속한클라이언트와통신할수있도록새로운소켓을생성하여리턴 접속한클라이언트의 IP 주소와포트번호를알려줌 SOCKET accept ( SOCKET s, struct sockaddr* addr, int* addrlen ) ; 성공 : 새로운소켓, 실패 : INVALID_SOCKET 11
12 TCP 클라이언트함수 (1/2) TCP 클라이언트함수 TCP 서버 socket() 서버소켓생성 TCP 클라이언트 socket() bind() IP, Port 할당 listen() 클라이언트접속대기 접속허용 accept() connect() 접속시도 recv() 응답 네트워크 send() 요청 send() recv() closesocket() 클라이언트접속종류 listen( ) 소켓종료 closesocket() 클라이언트소켓종료 12
13 TCP 클라이언트함수 (2/2) connect() 함수 서버에게접속하여 TCP 프로토콜수준의연결설정 int connect ( SOCKET s, const struct sockaddr* name, int namelen ) ; 성공 : 0, 실패 : SOCKET_ERROR 13
14 데이터전송함수 (1/4) 소켓데이터구조체 애플리케이션 서버 네트워크 클라이언트 운영체제 지역 IP 주소지역 IP 주소지역포트번호지역포트번호원격 IP 주소원격 IP 주소원격포트번호원격포트번호수신버퍼송신버퍼 14
15 데이터전송함수 (2/4) send() 함수 애플리케이션데이터를송신버퍼에복사함으로써궁극적으로하부프로토콜 ( 예를들면, TCP/IP) 에의해데이터가전송되도록함 int send ( SOCKET s, const char* buf, int len, int flags ); 성공 : 보낸바이트수, 실패 : SOCKET_ERROR 15
16 데이터전송함수 (3/4) recv() 함수 수신버퍼에도착한데이터를애플리케이션버퍼로복사 int recv ( SOCKET s, char* buf, int len, int flags ); 성공 : 받은바이트수또는 0( 연결종료시 ), 실패 : SOCKET_ERROR 16
17 데이터전송함수 (4/4) recv() 함수동작원리 buf len ptr left buf len 읽은데이터 ptr left 17
18 소켓통신을위한자료구조 (1/2) 윈도우소켓초기화정보를가지고있는구조체 ( 정보얻어옴 ) struct WSAData { }; WORD wversion; // 윈도우소켓버전 WORD whighversion; // 윈도우소켓의가장높은버전, 통상적으로 wversion 과같음 char szdescription[wsadescription_len+1]; // NULL 로끝나는문자열. // 적재된 WS2_32.dll 에서소켓에관련된설명문자열을카피 char szsystemstatus[wsasysstatus_len+1]; // 시스템의각종상태를알수있게해줌 unsigned short imaxsockets; // 어플리케이션에서사용할소켓의최대수리턴. Version 2 부터무시 unsigned short imaxudpdg; // 전송할수있는데이터그램최대크기리턴. Version 2 부터무시 char FAR * lpvendorinfo; // Version 2 부터무시 소켓을연결할상대방주소를쓰는구조체 struct sockaddr_in{ short sin_family; unsigned short sin_port; struct in_addr sin_addr; char sin_zero[8]; }; 18
19 소켓통신을위한자료구조사용예 (2/2) Winsock 버전 2.2 정보를 wsadata 에얻어옴 // WSAStartup( ) 함수는윈속관련라이브러리를초기화하고, 그데이터를 WSADATA 에할당 // 1: 사용할윈도우소켓버전, 2: 소켓정보저장공간 소켓의통신방법, 주소, 포트설정 은 loopback 네트웤접속을위한표준 IP 어드레스이다 에접속하고자할때바로자신의컴퓨터에 loopback 하게된다. 자신에게데이터를송신하는것 19
20 소켓통신을위한함수 (1/3) Winsock 사용시작 int WSAStartup( WORD wversionrequested, // 사용할윈도우즈소켓버전 ( 윈속버전정보전달받음 ) LPWSADATA lpwsadata // 소켓정보저장공간 (WSADATA 구조체변수의주소값전달 ); 소켓생성 SOCKET WSAAPI socket( int af, int type, int protocol // 0을입력 ); //address family 를명시함, AF_INET 이용 // 소켓의유형으로 SOCK_STREAM 이용 주소와소켓을연결하는함수 BOOL bind ( SOCKET s, // 연결할소켓 const SOCKADDR* lpsockaddr, int nsockaddrlen ); // 소켓에지정될주소와 // 포트번호를포함하는 SOCKASSR구조체주소 // 주소구조체 SOCKASSR 의크기 20
21 소켓통신을위한함수 (2/3) 연결요구를기다리는함수 BOOL listen( SOCKET s, // 기다릴소켓 ); int nconnectionbacklog // 대기할수있는요구최대개수로 1~5 연결을요구하는함수 BOOL connect( SOCKET s, // 연결에사용할소켓 const SOCKADDR* lpsockaddr, // 상대방의주소및포트번호 ); int nsockaddrlen // 주소구조체 SOCKASSR 의크기 21
22 소켓통신을위한함수 (3/3) 연결요구를받아들이는함수 SOCKET accept( SOCKET s, // 소켓에대한요구를받아들임 SOCKADDR* lpsockaddr, // 접속하는상대방의주소를저장할 SOCKASSR구조체주소 int* lpsockaddrlen // 주소구조체 SOCKASSR의크기 ); 소켓과관련된리소스를해제하는함수 int closesocket(socket s); Winsock 사용끝 int WSACleanup( ); 22
23 소켓프로그래밍환경설정 프로젝트생성직후 : 1) [ 프로젝트 ] Properties [ 속성 ], 팝업창에서 : 1) Linker Command Line ( 명령줄 ), 2)) Additional Options 에 ws2_32.lib 추가 23
24 실습 1: 서버 ) 서버프로그램작성. 소켓을이용하여서버와클라이언트를연결하는코드를작성한다. 이때, 서버용프로그램과클라이언트용프로그램은각각작성함! 1. VS 2015 수행후, Win32 Project 생성 프로젝트네임 : socket_server_1 Empty project 선택 ws2_32.lib 옵션설정 ( 강의자료 p.23 참조 ) 2. socket_server_1.cpp 파일을생성한다. 3. socket_server_1.cpp 파일에강의자료 25~26 페이지내용을작성 4. 빌드까지만수행한다. 24
25 실습 1: socket_server_1) 접속을기다리는서버 (1/2) 25
26 실습 1: socket_server_1) 접속을기다리는서버 (2/2) 26
27 실습 1: 클라이언트 ) 클라이언트프로그램작성. 1. VS 2010 수행후, Win32 Application 프로젝트생성 프로젝트네임 : socket_client_1 Empty project 선택 ws2_32.lib 옵션추가및멀티바이트설정 ( 강의자료 p.23 참조 ) 2. socket_client_1.cpp 파일을추가한다. 3. socket_client_1.cpp 에강의자료 28 페이지내용을작성 4. 빌드까지만수행한다. 27
28 실습 1: socket_client_1) 접속하는클라이언트 28
29 실습 1 실행 ) Server_1 과 Client_1 실행 - 코딩을완료한후다음과정을수행! 1) 서버실행파일인 socket_server_1.exe 를실행한다. 서버는클라이언트접속을대기중인상태가됨! 2) 클라이언트실행파일인 socket_client_1.exe 를실행한다. 다음과같은화면이나오는지확인. 클라이언트가접속했을때서버에서띄우는메시지박스 현재는접속만하도록했기때문에, 접속확인메시지박스만출력됨! 29
30 2 절. 메시지교환 (1/4) 메시지전송함수 int send( SOCKET s, // 연결된소켓 const void* lpbuf, // 보낼메시지가저장된버퍼 int nbuflen, // 메시지의길이 int nflags // 0을이용 ); 메시지수신함수 int recv( SOCKET s, // 연결된소켓 void* lpbuf, // 받는메시지가저장될버퍼 int nbuflen, // 버퍼의길이 int nflags // 0을이용 ); 30
31 2 절. 메시지교환 (2/4) 소켓통신 : ANSI (multi-byte) 코드로인코딩되어있음 - 즉, unicode 모드로작성되어, 유니코드로정보를전달받게되면문제발생 - 따라서, Unicode 정보를 Multi-byte로변경하여사용해야함! - 보낼때 Multi-byte로변환 : WideCharToMultiByte( ) - 받고나서는 Unicode로변환 : MultiByteToWideChar( ) 31
32 2 절. 메시지교환 (3/4) WideCharToMultiByte( ): Unicode Multi-byte // ANSI 문자열에대한언어, CP_ACP // 사용하지않음, 0 // 변환하려는유니코드문자열 // 문자열의길이, -1이면함수가자동계산 // 멀티바이트로변환후저장될공간 // 변환후문자열의길이 // NULL // NULL Unicode Multi-byte 예제 int msglen; WCHAR str[] = _T( 유니코드문자열 ); msglen = WideCharToMultiByte(CP_ACP, 0, str, -1, NULL, 0, NULL, NULL); char buffer[100]; WideCharToMultiByte(CP_ACP, 0, str, -1, buffer, msglen, NULL, NULL); 32
33 2 절. 메시지교환 (4/4) MultiByteToWideChar( ): Multi-byte Unicode // ANSI 문자열에대한언어, CP_ACP // 사용하지않음, 0 // 변환하려는멀티바이트문자열 // 문자열의길이, -1이면함수가자동계산 // 유니코드로변환후저장될공간 // 유니코드로변환후문자열의길이 Multi-byte Unicode 예제 int msglen; char buffer[] = 멀티바이트문자열 ; msglen = MultiByteToWideChar(CP_ACP, 0, buffer, strlen(buffer), NULL, NULL); WCHAR wbuffer[100]; MultiByteToWideChar(CP_ACP, 0, buffer, strlen(buffer), wbuffer, msglen); 33
34 실습 2: 서버 ) 서버프로그램작성. 소켓을이용하여서버와클라이언트를연결하는코드를작성한다. 이때, 서버용프로그램과클라이언트용프로그램은각각작성함! 1. VS 2015 수행후, Win32 Project 생성 프로젝트네임 : socket_server_2 Empty project 선택 ws2_32.lib 옵션설정 ( 강의자료 p.23 참조 ) 2. socket_server_2.cpp 파일을생성한다. 3. socket_server_2.cpp 파일에강의자료 32~33 페이지내용을작성 socket_server_1.cpp 를이용해도됨. 4. 빌드까지만수행한다. 34
35 실습 2: socket_server_2) 메시지수신추가 (1/3) 35
36 실습 2: socket_server_2) 메시지수신추가 (2/3) 36
37 실습 2: socket_server_2) 메시지수신추가 (3/3) 37
38 실습 2: 클라이언트 ) 클라이언트프로그램작성. 클라이언트에서서버로메시지를보내는코드를작성한다. ( 서버용프로그램과클라이언트용프로그램은각각작성함!) 1. VS 2015 수행후, Win32 Application 프로젝트생성 프로젝트네임 : socket_client_2 Empty project 선택 ws2_32.lib 옵션설정 ( 강의자료 p.23 참조 ) 2. socket_client_2.cpp 파일을추가한다. 3. socket_client_2.cpp 에강의자료 36 페이지내용을작성 4. 빌드까지만수행한다. 38
39 실습 2: socket_client_2) 서버접속후메시지송신 39
40 실습 2 실행 ) Server_2 와 Client_2 실행 - 코딩을완료한후다음과정을수행! 1) 서버실행파일인 socket_server_2.exe 를실행한다. 서버는클라이언트접속을대기중인상태가됨! 2) 클라이언트실행파일인 socket_client_2.exe 를실행한다. 다음과같은화면이나오는지확인. 클라이언트가서버에게보낸메시지 안녕하세요 Server! 가메시지박스에나온다. 현재는접속만하도록했기때문에, 접속확인메시지박스만출력됨! 40
41 3 절. 실제윈도우화면에서메시지교환 2 절 -1 에서작성한코드는윈도우화면이아닌, 서버측에서메시지박스로그 내용을출력! 본 3 절에서는해당메시지를서버의윈도우화면에출력하고자한다!!! 클라이언트윈도우에서 키보드 ( 아무 ) 키를누름 메시지서버에전송 41
42 실습 3: 서버 ) 서버프로그램작성. 클라이언트에서서버로보낸메시지를서버의화면 ( 윈도우 ) 에출력!!! 이때, 서버용프로그램과클라이언트용프로그램은각각작성함! 1. VS 2015 수행후, Win32 Project 생성 프로젝트네임 : socket_server_3 Empty project 선택 ws2_32.lib 옵션설정 ( 강의자료 p.23 참조 ) 2. socket_server_3.cpp 파일을생성. 3. 3_server_txt.txt 파일의내용을 socket_server_3.cpp 에복사 4. socket_server_3.cpp 파일에강의자료 43~45 페이지내용을추가로작성 5. 빌드까지만수행한다. 42
43 실습 3: socket_server_3) 윈도우에메시지출력 (1/3) 43
44 실습 3: socket_server_3) 윈도우에메시지출력 (2/3) // 윈도우가생성되면 // 서버용소켓을만들고 // 서버주소는 // 포트번호는 20에서클라이언트접속대기 // 주의 : 클라이언트가접속하지않으면 // 서버소켓은기다리고, 윈도우를화면에 // 출력하지않음 // 클라이언트가접속하면, accept( ) 함수가 // INVALID_SOCKET인지검사 // INVALID가아니면도착한데이터를 // 배열buffer에저장 44
45 실습 3: socket_server_3) 윈도우에메시지출력 (3/3) // buffer 도착한정보가 // multi-byte이면그대로진행하고 // unicode정보였다면 // unicode로변환하여저장 // 받은메시지를윈도우화면 // 0,0 위치에출력 45
46 실습 3: 클라이언트 ) 클라이언트프로그램작성. 클라이언트에서서버로보낸메시지를서버의화면 ( 윈도우 ) 에출력!!! 이때, 서버용프로그램과클라이언트용프로그램은각각작성함! 1. VS 2015 수행후, Win32 Application 프로젝트생성 프로젝트네임 : socket_client_3 Empty project 선택 ws2_32.lib 옵션추가설정 ( 강의자료 p.23 참조 ) 2. socket_client_3.cpp 파일을추가한다. 3. 강의자료에첨부한 3_client_txt.txt 의내용을 socket_client_3.cpp 로복사한다. 4. socket_client_3.cpp 에강의자료 47-48페이지내용을작성 5. 빌드까지만수행한다. 46
47 실습 3: socket_client_3) 윈도우환경메시지송신 (1/2) 47
48 실습 3: socket_client_3) 윈도우환경메시지송신 (2/2) 48
49 실습 3 실행 ) Server_3 와 Client_3 실행 1) 서버실행파일인 socket_server_3.exe 를실행한다. 2) 클라이언트실행파일인 socket_client_3.exe 를실행한다. Client 3 이라는윈도우창이팝업됨. 팝업된윈도우가선택된상태에서키보드의어떤키든누른다. 3) 클라이언트에서키보드를누르면메시지 Hello Server 를서버에게보냄 화면에 Hello Server! 를출력하는서버창이팝업됨! 49
50 지금까지통신의문제점 클라이언트측에서접속을할때까지서버측프로그램은무한정기다림 접속이되었다하더라도클라이언트측에서메시지를보내기까지메시지를받는서버측은무한정기다림 기다리는동안서버는아무런일도할수없음 논블록킹통신으로문제해결 50
51 4 절. 논블록킹통신 1. 네트워크이벤트발생시사용자 ( 프로그래머 ) 가정의한메시지를사용할수있도록 #define 추가 #define WM_ASYNC WM_USER+2 2. 논블록킹으로처리할윈도우메시지나네트워크이벤트를 WSAAsyncSelect() 를이용하여등록 int WSAAsyncSelect( SOCKET s, // 연결된소켓 HWND hwnd, // 메시지가발생하는윈도우의핸들 unsigned int imsg, // 등록될윈도우메시지 ); long IEvent // 등록될네트워크이벤트 51
52 4 절. 네트워크이벤트 WM_ASYNC 는특정네트워크이벤트발생시 윈도우메시지 로사용할수 있도록한다. 사용가능한네트워크이벤트는다음과같다. FD_READ: read를할준비가되면발생시키는이벤트 FD_WRITE: read될데이터가사용가능하면발생시키는이벤트 FD_OOB: out-of-band 데이터가도착하면발생시키는이벤트 FD_ACCEPT: 접속을요구하는신호가오면발생시키는이벤트 FD_CONNECT: 접속이완료되면발생시키는이벤트 FD_CLOSE: 상대방이접속을종료하면발생시키는이벤트 52
53 실습 4: 서버 ) 논블럭킹수신용서버프로그램 서버가클라이언트의접속및메시지를받기위해, 계속대기하지않는다!!! 이때, 서버용프로그램과클라이언트용프로그램은각각작성함! 1. VS 2015 수행후, Win32 Project 생성 프로젝트네임 : socket_server_4 Empty project 선택 ws2_32.lib 옵션설정 ( 강의자료 p.23 참조 ) 2. socket_server_4.cpp 파일을생성한다. 3. 강의자료에첨부한 4_sever_txt.txt 의내용을 socket_server_4.cpp 로복사한다. 4. socket_server_4.cpp 파일에강의자료 54~56페이지내용을추가로작성 5. 빌드까지만수행한다. 클라이언트프로그램은이전 socket_client_3 과동일하다. 따라서, 프로젝트를 socket_client_4 로생성한후 ws2_32.lib 옵션설정, socket_client_3.cpp 파일을해당프로젝트에복사후 existing Item 선택 이름 변경 프로젝트클래스이름변경 빌드까지만수행! 후이용! 53
54 실습 4: socket_server_4) 논블록킹수신용서버프로그램 (1/3) // define 문추가 54
55 실습 4: socket_server_4) 논블록킹수신용서버프로그램 (2/3) 55
56 실습 4: socket_server_4) 논블록킹수신용서버프로그램 (3/3) 56
57 실습 4 실행 ) Server_4 와 Client_4 실행 1) socket_server_4.exe 를실행한다. Server 4 윈도우팝업 2) socket_client_4.exe 를실행한다. Client 4 윈도우팝업 3) 클라이언트창에서키보드누름 서버윈도우화면에문장출력됨. 눈으로보이는것은이전실습 3 의결과와다르지않지만, 서버가한프로그램 을위해서계속대기하지않는다! 라는것은중요한사실! 실습 3) 의결과와비슷해보이지만, 실습 3) 은클라이언트가접속해올때까지서버는기다려야한다. 따라서, 블록된상태에서멈추므로서버윈도우가나타나지않는다. 반면, 실습 4) 에서는클라이언트가접속해오면통지를하라고설정해두고서버자신은다른일을처리할수있다. 따라서, 처음부터서버윈도우가나타난다. 57
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 informationMicrosoft 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 information2009년 상반기 사업계획
소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버
More information제1장 Unix란 무엇인가?
1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.
More informationThe 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본 강의에 들어가기 전
네트워크프로그래밍 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À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö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 informationMicrosoft PowerPoint - 09-CE-23-윈도우 소켓
순천향대학교컴퓨터학부이상정 1 학습내용 인터넷과 TCP/IP 프로토콜 소켓의생성과해제 소켓주소표현 연결지향소켓프로그래밍 순천향대학교컴퓨터학부이상정 2 인터넷과 TCP/IP 프로토콜 순천향대학교컴퓨터학부이상정 3 인터넷구조의프로토콜계층 인터넷구조의프로토콜계층 응용계층 (application layer) 응용서비스제공 http, ftp, smtp, telnet,
More informationMicrosoft 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본 강의에 들어가기 전
1 목포해양대해양컴퓨터공학과 2 장. TCP 소켓 네트워크프로그램설계 2 목포해양대해양컴퓨터공학과 목차 제 2장 TCP 소켓 1. IPv4 TCP 클라이언트 2. IPv4 TCP 서버 3. 소켓의생성과해지 4. 주소지정 5. 소켓에연결 6. 소켓을주소에바인딩하기 7. 클라이언트의연결요청처리 8. 데이터주고받기 9. IPv6의사용 3 목포해양대해양컴퓨터공학과
More informationThe 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 informationMicrosoft 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 F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)
More informationMicrosoft 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 informationThe Pocket Guide to TCP/IP Sockets: C Version
인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)
More information슬라이드 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 informationMicrosoft PowerPoint - 03-TCP Programming.ppt
Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):
More informationPowerPoint 프레젠테이션
Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용
More information슬라이드 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제1장 Unix란 무엇인가?
1 13 장소켓 2 13.1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.
More informationvi 사용법
네트워크프로그래밍 6 장과제샘플코드 - 1:1 채팅 (udp 버전 ) 과제 서버에서먼저 bind 하고그포트를다른사람에게알려줄것 클라이언트에서알려준포트로접속 서로간에키보드입력을받아상대방에게메시지전송 2 Makefile 1 SRC_DIR =../../common 2 COM_OBJS = $(SRC_DIR)/addressUtility.o $(SRC_DIR)/dieWithMessage.o
More informationMicrosoft 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 informationMicrosoft PowerPoint PythonGUI-socket
: 채팅프로그래밍 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 스레드소개 파이썬스레드 채팅클라이언트 / 서버프로그램 순천향대학교컴퓨터공학과 2 네트워크요소 네트워크가장자리 (edge) 호스트 : 클라이언트와서버
More informationMicrosoft PowerPoint - 13 ¼ÒÄÏÀ» ÀÌ¿ëÇÑ Åë½Å 2.ppt
13 장소켓을이용한통신 (2) 소켓을이용한통신 (2) 함수 - recvfrom - sendto - uname - gethostname - gethostbyname - gethostbyaddr 1 1. 서론 소켓을사용하여비연결형모델로통신을하기위한함수와그외의함수 함수 의미 recvfrom 비연결형모델에서소켓을통해메시지를수신한다. sendto 비연결형모델에서소켓을통해메시지를송신한다.
More informationPowerPoint 프레젠테이션
명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달
More informationMicrosoft PowerPoint - 09-CE-24-채팅 프로그램
순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기 채팅을위한연결요청시클라이언트로동작
More informationThe Pocket Guide to TCP/IP Sockets: C Version
얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 3. Of Names and Address Families Chap. 3 Of Names and Address Families 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소 - 범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 기존 IPv4 전용, IPv6 전용코드의취약성
More informationPowerPoint 프레젠테이션
Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5계층 (4계층) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점
More informationThe Pocket Guide to TCP/IP Sockets: C Version
인터넷프로토콜 03 장 도메인네임시스템과주소 패밀리 (IPv4-IPv6 서비스 ) 1 목포해양대해양컴퓨터공학과 목차 제 3 장도메인네임시스템과주소패밀리 3.1 도메인네임주소를숫자주소로매핑하기 3.2 IP 버전에무관한주소-범용코드의작성 3.3 숫자주소에서도메인네임주소획득하기 2 목포해양대해양컴퓨터공학과 기존 IPv4 전용, IPv6 전용코드의 취약성 전용주소코드
More informationOPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block
More informationChapter 4 UDP 소켓 사용법
Chapter 4 UDP 소켓사용법 개요 소켓이란 (Unix 소켓 ) 소켓의구조 소켓의유형 UDP 에대한이해 교재 Chapter 4.1 UDP 클라이언트 교재 Chapter 4.2 UDP 서버 교재 Chapter 4.3 UDP 소켓을이용한 송신및수신 소켓이란? Socket 은통신을위한끝점 (endpoint) 을생성하여파일에대한 open 과유사한방식으로기술자
More information<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A
학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스
More informationChapter #01 Subject
Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned
More informationMicrosoft 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 information1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation
1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP
More informationhd132x_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 informationPowerPoint 프레젠테이션
Web server porting 2 Jo, Heeseung Web 을이용한 LED 제어 Web 을이용한 LED 제어프로그램 web 에서데이터를전송받아타겟보드의 LED 를조작하는프로그램을작성하기위해다음과같은소스파일을생성 2 Web 을이용한 LED 제어 LED 제어프로그램작성 8bitled.html 파일을작성 root@ubuntu:/working/web# vi
More informationMicrosoft 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 informationC++ Programming
C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator
More informationbn2019_2
arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily
More information임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과
임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수
More informationPowerPoint 프레젠테이션
Socket Programming 1 Jo, Heeseung 학습목표 TCP/IP 프로토콜의기본개념 IP 주소와포트번호의개념소켓관련구조체와함수소켓을이용한통신프로그램을작성 2 TCP/IP 개요 TCP/IP 인터넷의표준프로토콜 5 계층 (4 계층 ) 으로구성 TCP 와 UDP 의차이 3 IP 주소와호스트명 IP 주소와호스트명 IP 주소 : 인터넷을이용할때사용하는주소로점
More informationMicrosoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]
Unix Process Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 유닉스기반다중서버구현방법 클라이언트들이동시에접속할수있는서버 서비스를동시에처리할수있는서버프로세스생성을통한멀티태스킹 (Multitasking) 서버의구현 select 함수에의한멀티플렉싱 (Multiplexing)
More information1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a
6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;
More information<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More information게시판 스팸 실시간 차단 시스템
오픈 API 2014. 11-1 - 목 차 1. 스팸지수측정요청프로토콜 3 1.1 스팸지수측정요청프로토콜개요 3 1.2 스팸지수측정요청방법 3 2. 게시판스팸차단도구오픈 API 활용 5 2.1 PHP 5 2.1.1 차단도구오픈 API 적용방법 5 2.1.2 차단도구오픈 API 스팸지수측정요청 5 2.1.3 차단도구오픈 API 스팸지수측정결과값 5 2.2 JSP
More information<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):
More information본 강의에 들어가기 전
인터넷프로토콜 02 장 TCP 소켓 목차 제 2 장 TCP 소켓 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소에바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6 의사용 소켓통신과정 간략화한소켓통신과정 소켓생성 TCP or UDP 소켓에주소정보할당
More information윈도우시스템프로그래밍
데이터베이스및설계 MySQL 을위한 MFC 를사용한 ODBC 프로그래밍 2012.05.10. 오병우 컴퓨터공학과금오공과대학교 http://www.apmsetup.com 또는 http://www.mysql.com APM Setup 설치발표자료참조 Department of Computer Engineering 2 DB 에속한테이블보기 show tables; 에러발생
More information<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>
뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)
More informationWindows 8에서 BioStar 1 설치하기
/ 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More informationPowerPoint 프레젠테이션
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 informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More informationThe Pocket Guide to TCP/IP Sockets: C Version
얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap 2. Basic TCP Sockets Chap. 2 Basic TCP Sockets 2.1 IPv4 TCP 클라이언트 2.2 IPv4 TCP 서버 2.3 소켓의생성과해지 2.4 주소지정 2.5 소켓에연결 2.6 소켓을주소와바인딩하기 2.7 클라이언트의연결요청처리 2.8 데이터주고받기 2.9 IPv6의사용
More informationMicrosoft PowerPoint - chap01-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 학습목표 프로그래밍의 기본 개념을
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationMicrosoft Word - ntasFrameBuilderInstallGuide2.5.doc
NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,
More informationThe OSI Model
Advanced Socket Programming Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 다중처리기술 2 다중처리기술 Multitasking Multi-process Multi-thread Multiplexing Polling Selecting Interrupt
More informationPowerPoint 프레젠테이션
FlightGear Jo, Heeseung FlightGear 2.10 FlightGear 에서 Http, UDP 프로토콜을실행할수있는환경을설명한문서 1. FlightGear 실행 2. FlightGear Http 통신 3. FlightGear Protocol 구조 4. FlightGear 와통신하기위한 Client Server 간의구조 5. FlightGear
More informationSYN flooding
Hacking & Security Frontier SecurityFirst SYN flooding - SYN flooding 공격의원리와코드그리고대응 by amur, myusgun, leemeca 2008. 09. myusgun Agenda 개요...3 원리...3 위협...4 잠깐! - 문서에관하여...4 이문서는...4 Code...4 대응방안...4 소스코드...5
More informationMicrosoft 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<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>
리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1
More informationUI 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 informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More informationFlightGear 2.10
FlightGear 2.10 FlightGear project 를원할히진행할수있도록설명되있는기술문서입니다. FlightGear 는윈도우, Linux 환경상에서구동할수있는비행 Simulator 프로그램입니다. 2013-05-18 Kim Tae Hoon Documentaion1.1v Language:Ko_kr FlightGear 2.10 1. FlightGear
More informationMicrosoft PowerPoint - 09-CE-5-윈도우 핸들
순천향대학교컴퓨터학부이상정 1 학습내용 윈도우핸들 윈도우찿기 윈도우확인및제거 윈도우숨기기 윈도우포커스 윈도우텍스트 윈도우핸들 순천향대학교컴퓨터학부이상정 3 핸들 (handle) 윈도우에서구체적인어떤대상을구분하기위해지정되는고유의번호 32비트의정수값 핸들은운영체제가발급하고사용자가이값을사용 실제값이무엇인지는몰라도상관없음 윈도우, DC, 브러쉬등등 순천향대학교컴퓨터학부이상정
More informationPowerPoint 프레젠테이션
FLIGHTGEAR Jo, Heeseung INDEX 1. FlightGear 실행 2. FlightGear Http 통신 3. FlightGear Protocol 구조 4. FlightGear와통신하기위한 Client Server간의구조 5. FlightGear UDP통신실행예제 2 FLIGHTGEAR 실행 FlightGear http://flightgear.org
More information자바-11장N'1-502
C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),
More information다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");
다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp"); dispatcher.forward(request, response); - 위의예에서와같이 RequestDispatcher
More information버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습
앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수
More informationMicrosoft Word - KPMC-400,401 SW 사용 설명서
LKP Ethernet Card SW 사용설명서 Version Information Tornado 2.0, 2.2 알 림 여기에실린내용은제품의성능향상과신뢰도의증대를위하여예고없이변경될수도있습니다. 여기에실린내용의일부라도엘케이일레븐의사전허락없이어떠한유형의매체에복사되거나저장될수없으며전기적, 기계적, 광학적, 화학적인어떤방법으로도전송될수없습니다. 엘케이일레븐경기도성남시중원구상대원동
More informationUI TASK & KEY EVENT
T9 & AUTOMATA 2007. 3. 23 PLATFORM TEAM 정용학 차례 T9 개요 새로운언어 (LDB) 추가 T9 주요구조체 / 주요함수 Automata 개요 Automata 주요함수 추후세미나계획 질의응답및토의 T9 ( 2 / 30 ) T9 개요 일반적으로 cat 이라는단어를쓸려면... 기존모드 (multitap) 2,2,2, 2,8 ( 총 6번의입력
More informationMicrosoft PowerPoint - chap06-1Array.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어
More information<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<4D F736F F F696E74202D203031C0E520C0A9B5B5BFEC20C7C1B7CEB1D7B7A1B9D620B1E2C3CA5FBFB5B3B2C0CCB0F8B4EB205BC8A3C8AF20B8F0B5E55D>
01 : 윈도우프로그래밍기초 학습목표 윈도우운영체제와윈도우응용프로그램의특징을이해한다. SDK 응용프로그램작성과정, 기본구조, 동작원리를이해한다. MFC 응용프로그램작성과정, 기본구조, 동작원리를이해한다. 비주얼 C++ 개발환경사용법을익힌다. 윈도우운영체제특징 (1/3) 그래픽사용자인터페이스 1 윈도우운영체제특징 (2/3) 메시지구동구조 이벤트발생... 대기
More informationBMP 파일 처리
BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)
More information목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조
C++ 이용한포트스캔 Winpcap 이용기존수업시간 Client, BasicDump 코드이용 제출일 2016, 06, 01 전공사이버경찰학과 과목네트워크보안프로그래밍학번 10121702 담당교수소길자이름김주명 목차 목차포트스캔코드포트스캔결과포트스캔탐지코드포트스캔탐지결과 참조 02 03 05 06 11 12 2 포트스캔코드 #include "stdafx.h"
More informationMicrosoft PowerPoint 웹 연동 기술.pptx
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More informationMicrosoft PowerPoint - C++ 5 .pptx
C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성
More information< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>
Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법
More information61 62 63 64 234 235 p r i n t f ( % 5 d :, i+1); g e t s ( s t u d e n t _ n a m e [ i ] ) ; if (student_name[i][0] == \ 0 ) i = MAX; p r i n t f (\ n :\ n ); 6 1 for (i = 0; student_name[i][0]!= \ 0&&
More informationA Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning
C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용
More information<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>
2006 년 2 학기윈도우게임프로그래밍 제 8 강프레임속도의조절 이대현 한국산업기술대학교 오늘의학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용한다. FPS(Frame Per Sec)
More informationMicrosoft PowerPoint - chap10-함수의활용.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 informationLab 4. 실습문제 (Circular singly linked list)_해답.hwp
Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular
More informationMicrosoft PowerPoint - 09-EDU-15-채팅 프로그래밍
15. 채팅프로그램 순천향대학교컴퓨터학부이상정 1 학습내용 사용자인터페이스 프로그램구성 TCP 연결설정프로그램 서버연결설정 클라이언트연결설정 TCP 데이터송수신 순천향대학교컴퓨터학부이상정 2 사용자인터페이스, Form 클래스 순천향대학교컴퓨터학부이상정 3 1:1 채팅프로그램 한프로그램이동시에서버와클라이언트로동작 프로그램시작시서버로동작 서버소켓생성하고상대방접속요청대기
More information서비스) 와서버( 관리대상서버) 간에자격증명을사용하여서로의 ID 를확인하고서로주고받는데이터를검사하고암호화하는프로세스 이다. 높은인증수준은일반적으로성능의저하를가져올수있지만높은 수준의보안과데이터무결성을제공한다. 기본값 - 관리대상서버에설정되어있는 DCOM 인증수준기본 값을
설정매뉴얼 연결설정 연결을하기위해서는클라이언트와서버에 Windows Management Instrumentation, Remote Procedure Call(RPC) 서비스 가설치및실행되고있어야한다. Windows Management Instrumentation 서비스는 굳이실행시킬필요는없다. 요청이들어올경우자동실행되므로 연결및쿼리는 DCOM 을사용한다. DCOM은
More informationMicrosoft PowerPoint - 15-EmbedSW-10-Socket
10. 소켓개요 TCP 클라이언트 / 서버프로그래밍절차 오드로이드 I/O 소켓프로그램예 순천향대학교컴퓨터공학과이상정 1 소켓 (Socket) 운영체제복습 소켓 (socket) 은통신의극점 (endpoint) 을정의 소켓은 IP 주소와포트번호두가지를접합 (concatenate) 해서구별 두프로세스의네트워크통신에각각하나씩두개의소켓이필요 순천향대학교컴퓨터공학과 2
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More information슬라이드 1
2007 년 2 학기윈도우게임프로그래밍 제 7 강프레임속도의조절 이대현 핚국산업기술대학교 학습내용 프레임속도의조절 30fps 맞추기 스프라이트프레임속도의조절 프레임속도 (Frame Rate) 프레임속도란? 얼마나빨리프레임 ( 일반적으로하나의완성된화면 ) 을만들어낼수있는지를나타내는척도 일반적으로초당프레임출력횟수를많이사용핚다. FPS(Frame Per Sec)
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationMicrosoft PowerPoint - Chap12-OOP.ppt
객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버
More informationPowerPoint Presentation
Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section
More informationMicrosoft PowerPoint - 06-CompSys-16-Socket.ppt
소켓시스템콜소개 TCP 클라이언트 / 서버프로그래밍 signal(), fork() 시스템콜 TCP 클라이언트 / 서버프로그래밍예 talk_client.c, talk_server.c UDP 클라이언트 / 서버프로그래밍 순천향대학교컴퓨터학부이상정 1 소켓시스템콜소개 순천향대학교컴퓨터학부이상정 2 소켓 (socket) 소켓은 TCP/IP 프로토콜을이용하기위한시스템콜인터페이스
More information