The Pocket Guide to TCP/IP Sockets: C Version

Size: px
Start display at page:

Download "The Pocket Guide to TCP/IP Sockets: C Version"

Transcription

1 인터넷프로토콜 5 장 데이터송수신

2 목차 제 5 장데이터의송수신 5.1 정수인코딩 5.2 메시지생성, 프레이밍, 그리고파싱 5.3 마무리

3 5.1 정수인코딩 정수의크기 보내려는정수의크기를미리결정해야 TestSizes.c 바이트순서화 Big-endian Little-endian 부호화와부호확장 signed 와 unsigned Bruteforcecoding.c

4 TCP/IP 바이트전송 TCP/IP 프로토콜은바이트 (bytes) 를전송함 응용프로그램끼리의미를부여할뿐, TCP/IP 는단지단위데이터를전송 택배기사는내용물에큰의미를부여하지않으며단지택배박스를원하는곳으로전달할뿐 Application Application byte stream TCP/IP Here are some bytes. I don t know what they mean. byte stream TCP/IP I ll pass these to the app. It knows what to do.

5 전송데이터의자료형 (1) 문자열 (String) 전송 : 가변길이전송 장점 사람이읽기쉬움 메시지의확장이용이하며무제한 단점 전송량대비전송내용비효율, 수신루틴비효율, 연산비효율 상호협의할내용 문자코드페이지 ASCII, Unicode, UTF 메시지경계구분 ( 프레이밍 : framing) 길이명시방식 : 전송할문자열의크기를고정크기의자료형에담아서전송. 수신자는크기를미리파악하고정확한문자열만큼수신구분자방식 : 널문자혹은임의의문자를메시지의경계에삽입. 수신자는바이트단위로읽다가구분자가나오면메시지의끝으로확인

6 전송데이터의자료형 (2) 문자열 (String) 전송 숫자전송의예 \n 문자전송의예 M o m \n

7 문자열전송의예 (TCP) char string[strbuffsize]; send(sock, string, strbuffsize, 0) 주의점 : 버퍼의크기 TCP 는운영체제에의존적인 TCP 버퍼가있으며이보다작은크기로 send() 를호출해야한다.

8 전송데이터의자료형 정수형 (Integer) 의전송 기본자료형의단위로전송 2바이트, 4바이트단위의전송 주의사항 2바이트이상의데이터전송간에는항상네트워크바이트순서로전송해야함 1바이트교환은의미가없음 Network byte order (Big-Endian) - 다중바이트의메시지교환에필수 - 호스트바이트-네트워크바이트변환함수들 htonl(), htons(), ntohl(), ntohs() Little-Endian ,798 Big-Endian

9 정수자료형전송의예 (TCP) int data; send(sock, &data, sizeof(data), 0) short, long, double, char 도동일한방식으로처리

10 정수인코딩을직접해보자 BruteForceCoding.c byte ordering signedness 각함수들내용이해

11 TCP 소켓을스트림으로포장하기 FILE stream FILE *fdopen( ) int fclose( ) int fflush( ) size_t fwrite( ) size_t fread( )

12 구조체오버레이 : 정렬과채우기 실제로구조체가어떻게구현되는지이해필요 struct addressinfo { uint16_t streetaddress; int16_t aptnumber; uint32_t postalcode; } addrinfo; streetaddress aptnumber postalcode struct integermessage2 { uint8_t onebyte; uint8_t padding; uint16_t twobytes; uint32_t fourbytes; uint64_t eightbytes; }; alignment 를위해필요한 padding 이해 struct integermessage { uint8_t onebyte; uint16_t twobytes; uint32_t fourbytes; uint64_t eightbytes; }; 구조체와메모리할당이해 최대한정렬 2 바이트이상인경우시작주소는항상 2 로나누어져야한다

13 old-fashioned text ASCII 문자열과텍스트 internationalizable code C99 extensions wchar_t size_t wcstombs( ) size_t mbstowcs( )

14 비트조작 : 참, 거짓값의인코딩 C 언어의 bitwise 연산자이해필요 << >> & ~

15 Voting Protocol UDP 로구현시 TCP 로구현시 5.2 Constructing, Framing, and Parsing 하나의메시지크기 ( 경계 ) 를어떻게판단할것인가하는문제존재 방법 1: delimiter-based 방법 2: Explicit length Text-based Message Encoding Binary Message Encoding

16 메시지구성 (Message Composition) 메시지구성이란? 응용프로그램끼리의미있는데이터교환을위한형식정의 응용프로토콜과같은의미 일반적으로프로토콜헤더 + 데이터로구성 프로토콜 ( 메시지 ) 필드란? 메시지내부에서단위의미를가지는데이터영역 예 ) 파일전송을위한메시지구성 파일을상대방에게전송하기위해서는파일내용도중요하지만파일이름, 크기등과같은파일특성도전달이되어야함 파일전송을위한프로토콜헤더구성 아래와같은 3 개의필드로구성이가능 ( 정의에따라고정혹은가변크기 ) 파일이름, 파일크기, 파일퍼미션 파일전송을위한프로토콜데이터구성 파일의내용 ( 항상가변 )

17 메시지구성 (Message Composition) 고정길이필드 정수형자료형으로구성 메시지처리가쉬우며일반적으로크기가작음 가변길이필드 문자열로구성 Human-readable 하며확장성이좋으나처리가불편하고크기가클수있음 고정길이필드 integer short short 가변길이필드 M i k e 1 2 \n

18 메시지구성을위한자료형정의 구조체사용이바람직함 struct file_header { int filesize; char filename[256]; } sndfilehdr; send(sock, &sndfilehdr, sizeof(sndfilehdr), 0) 저지르기쉬운실수 구조체내부의포인터변수 값을전달해야지위치를전달하는것은무의미 패딩, 정렬문제 항상은아니지만가끔일어나며디버깅어렵게함

19 struct tst { short x; int y; short z }; 채우기 (padding) 의문제 x [pad] y z [pad] 시스템은내부정렬규칙에따라채우기를수행 해결방법 구조체멤버를재배치 명시적인강제채우기

20 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes) FileSize (4bytes) Filecontents (0~4GB) 메시지헤더 메시지데이터 struct msghdr { char filename[255]; unsigned int filesize; }

21 파일전송메시지구성예제 ( 문자열메시지 ) 전송방식 : 가변길이 ( 문자열전송방식 ) 필요한전송정보 구분자 (!$ : 임의로결정, 단파일이름이나길이에나오지않아야함 ) 파일이름 ( 크기제한없음, 필드의크기는파일이름에따라가변 ) 파일크기 ( 크기제한없음, 필드의크기는파일크기에따라가변 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 (255bytes 의 helloworld.c 를전송할경우 ) Helloworld.c!$255!$ Filecontents (0~4GB) 메시지헤더 메시지데이터

22 파일내용의전송 파일크기가소켓버퍼의크기보다크므로아래와같이순차적전송 #define BUFSIZE 1024 char filebuf[bufsize]; fp = fopen( test.txt", "r"); if(fp == NULL) DieWithError ("File open error"); while(1){ len=fread(filebuf, sizeof(char), BUFSIZE, fp); send(sock, filebuf, len, 0); if(feof(fp)) break; }

23 파일내용의수신 #define BUFSIZE 1024 char filebuf[bufsize]; recvfilesize=0; fp = fopen( test.txt", w"); if(fp == NULL) DieWithError ("File open error"); while(origfilesize>recvfilesize) { } if ((recvmsgsize = recv(clntsock,filebuf,bufsize, 0)) < 0) DieWithError("recv() failed"); recvfilesize+=recvmsgsize; fwrite(filebuf, sizeof(char), BUFSIZE, fp);

24 과제 기존에코프로그램을수정하여다음의기능을가지는프로그램을작성하라 클라이언트 : 클라이언트명령어의두번째인자를에코문자열대신파일이름으로받아들여파일을서버에전송하라 Ex) FileClient lily.mmu.ac.kr test.txt 5000 서버 : 해당파일은서버의실행파일이존재하는디렉토리에동일한이름으로저장되도록한다.

25 좀더복잡한메시지구성

26 파일전송의예 메시지구성 char FileName[256]; int FileSize; char FileBuffer[1024]; Server FileName FileSize File Contents Client recv(clntsock, FileName, 256, 0) recv(clntsock, FileSize, 4, 0) while(notrecvfullfile()) { recv(sock, FileBuffer, 1024,0) } send(sock, FileName, 256, 0) send(sock, FileSize, 4, 0) while(feof(fd)) { Send(sock, FileBuffer, 1024,0) }

27 에코와파일전송을모두지원하는 상황 프로토콜 클라이언트는서버에게 string 혹은파일을업로드할수있다. 서버는 string 을받을경우 echo 를해주고파일을받을경우, 디스크에저장을한후잘받았다는메시지를 (acknowledge) 회신한다 클라이언트는 echo 메시지를수신한경우,echo 메시지를출력하고, file ack 를받을경우 file ack 를출력한다 예 client lily.mmu.ac.kr upload test.txt 5000 // 파일전송 client lily.mmu.ac.kr echo hello 5000 // 에코메시지

28 메시지 ( 프로토콜 ) 설계 서버와클라이언트는동일프로그램으로두개의다른상황을모두만족해야함 EchoString File Upload string Server Client Echostring FileName FileSize File Contents Server Client 서버의입장에서클라이언트의서비스요청이 MsgType 에코요청인지파일업로드인지구분할수있는방법은? 서비스타입 ( 에코요청, 파일업로드 ) 필드를준비하고클라이언트를이를통해서버에게서비스종류를알림

29 바이너리프로토콜설계 /* Message Type */ #define EchoReq 01 #define FileUpReq 02 #define EchoRep 11 #define FileAck 12 char MsgType; EchoString Server MsgType string Echostring MsgType Client MsgType FileName FileSize File Contents Server File Upload MsgType Client

30 클라이언트핵심코드 ( 바이너리프로토콜 ) /* Message Type */ #define EchoReq 01 #define FileUpReq 02 #define EchoRep 11 #define FileAck 12 char MsgType; char * operation; //client upload test.txt 5000 operation=argv[2] If (!strcmp(operation, upload )) MsgType=FileUpReq send(sock, &MsgType, 1,0) else if (!strcmp(operation, echo )) MsgType=EchoReq send(sock, &MsgType,1,0) else { } MsgType MsgType FileName FileSize File Contents string fprintf(stderr, "Usage: %s <Server IP> <operation><operand> <Echo Port>\n", argv[0]); exit(1);

31 /* Message Type */ #define EchoReq 01 #define FileUpReq 02 #define EchoRep 11 #define FileAck 12 char MsgType; recv(clntsock, &MsgType,1,0) 서버핵심코드 ( 바이너리프로토콜 ) if (MsgType==FileUpReq) { recv(clntsock, FileName, MsgType=FileAck; send(clntsock, &MsgType, 1,0); } else if(msgtype==echoreq) { recv(clntsock, EchoString, MsgType=EchoRep; send(clntsock, EchoString, ); } else fprintf(stderr, Bad request ) MsgType MsgType FileName FileSize File Contents string

32 문자열프로토콜설계 /* Message Type */ #define EchoReq #define FileUpReq #define EchoRep #define FileAck char MsgType[10]; EchoReq FileUpReq EchoRep FileAck EchoString Server MsgType string Echostring MsgType Client Server File Upload MsgType FileName FileSize File Contents MsgType Client

33 클라이언트핵심코드 ( 문자열프로토콜 ) /* Message Type */ #define EchoReq EchoReq #define FileUpReq FileUpReq #define EchoRep EchoRep #define FileAck FileAck #define Delimeter char msgtype[10]; char * operation; //client upload test.txt 5000 operation=argv[2] If (!strcmp(operation, upload )) strcpy(msgtype, FileUpReq); send(sock, msgtype, strlen(msgtype),0) MsgType else if (!strcmp(operation, echo )) strcpy(msgtype, EchoReq); send(sock, msgtype,strlen(msgtype,0) else { fprintf(stderr, "Usage: %s <Server IP> <operation><operand> <Echo Port>\n", argv[0]); exit(1); } MsgType FileName FileSize File Contents string

34 서버핵심코드 ( 문자열프로토콜 ) /* Message Type */ #define EchoReq EchoReq #define FileUpReq FileUpReq #define EchoRep EchoRep #define FileAck FileAck #define Delimeter char msgtype[10], recvchar; int i=0; while(i<10) { recvchar=recv(clntsock, msgtype[i],sizeof(char),0); if (msgtype[i]==delimeter) break; } if (!(strcmp(msgtype,filereq)) { recv(clntsock, FileName, strcpy(msgtype,fileack); send(clntsock, msgtype, strlen(msgtype),0); } else if(!(strcmp(msgtype, EchoReq)) { recv(clntsock, EchoString, strcpy(msgtype,echorep);; send(clntsock, msgtype, strlen(msgtytpe),0); } else fprintf(stderr, Bad request ) MsgType MsgType FileName FileSize File Contents string

35 ASN.1 소개 (1) a machine independent data description language CCITT (X.208) and ISO (ISO 8824) standard define abstract syntax of application data define the structure of application and presentation protocol data units (PDUs) define SNMP, VOIP and IEC61850 MMS

36 ASN.1 소개 (2) User User Local storage (e.g, MIB) user presentation mapping user presentation mapping Local storage (e.g, MIB) local mapping Application component Abstract Syntax (e.g., ASN.1) Application component local mapping encoding rules encoding rules data transfer component (e.g, TCP, OSI session) Transfer Syntax (e.g., BER) data transfer component (e.g, TCP, OSI session)

37 ASN.1 소개 (3) Application Entity 에대한규격표현에주로사용 Application Entity 정보의의미 (sematics) 에만의미를두고정보의표현형식 (syntax) 에는무관함 추상구문을기술하기위한기법 Application/Presentation Layer PDU(Protocol Data Unit) 표현 다양한인터페이스나통신매체를통하여전송되어야할정보를기술하기위한 INL(Interface Notation Language) 로사용

38 ASN.1 소개 (4) 다양한데이터타입들의표현 BOOLEAN INTEGER BIT STRING OCTET STRING NULL REAL SEQUENCE SEQUENCE OF GeneralizedTime IA5String BMPString UTF8String ENUMERATED

39 BER(Basic Encoding Rules)(1) BER 은전송되는데이터가어떻게인코딩되어야하는지를기술 기기특성, 프로그래밍언어, 에플리케이션표현방법과독립적 Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application Application 2 Value Length Tag } 전체 24 bits

40 BER(2) CCITT (X.209) and ISO (ISO 8825) standard based on the use of a type-length-value (TLV) structure Type Length Value

41 PER-Packed Encoding Rules BER 과마찬가지로전송되는데이터가기기의종류, 프로그래밍언어, 어플리케이션프로그램의표현방법과는독립적으로어떻게인코드되어야하는지를기술 BER 과는달리기본적으로태그는전송안됨그리고 length 와 value 가종단간에이미약속이되어있다면전송되지않음 PER 은전송시대역폭을보다적게사용하기위한목적으로정의되었으며, 소리와영상을전송하는인터넷, 공중파통신과같이대역폭이중요한곳이라면어느곳이라도유용하게사용 Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application Application 2 total length of 3 bits

42 XER-XML Encoding Rules BER, PER 과마찬가지로, 전송하기위한데이터의장치의종류, 프로그래밍언어또는어플리케이션프로그램의표현에대해독립적 축소된규칙과는달리곧바로읽기쉽다. 좀더읽기쉽게하는데목적이있다. 추가대역폭을필요로한다. BCN 등대규모대역폭을갖는환경에적합하다. Age ::= INTEGER (0..7) firstgrade Age ::= 6 Application 1 <Age>6</Age> Application 2 total length of 12 octets

43 ASN.1/ 인코딩규칙표준문서 ITU-T Rec. X.680 ISO/IEC Basic ASN.1 Notation ITU-T Rec. X.681 ISO/IEC Information Object Classes ITU-T Rec. X.682 ISO/IEC Constraints ITU-T Rec. X.683 ISO/IEC Parameterization ITU-T Rec. X.690 ISO/IEC Basic Encoding Rules (BER) Canonical Encoding Rules (CER) Distinguished Encoding Rules (DER) ITU-T Rec. X.691 ISO/IEC Packed Encoding Rules (PER)

44 ASN.1 데이터타입 (1) 프로그래밍언어와같이미리정의된몇가지타입을가진다. 사용자는 ASN.1 이제공하는기본타입외에새롭게정의된타입을사용할수있다. 타입정의를위한일반적인형식 <typereference> ::= <type> 타입의이름은반드시대문자로시작해야한다. 대부분의 ASN.1 에서미리정의된타입은대문자로표기된다.

45 BIT STRING 비트의임의의스트링 BOOLEAN True/False OCTET STRING 8 진수스트링 IA5STRING ASCII 스트링 INTEGER 임의의정수 REAL 임의의실수 NULL 널값 ASN.1 데이터타입 (2)

46 ASN.1 데이터타입 (3) PrintableString 프린트가능한스트링 OCTET IDENTIFIER 객체를식별하는정수값의연속 SEQUENCE 서로다른 ASN.1 데이터타입들의순서적집합 SEQUENCE OF 동일한타입의순서적집합 SET 서로다른 ASN.1 데이터타입들의비순서적집합 SET OF 동일한타입의비순서적집합

47 태그 (Tags)(1) 정의된모든타입들은태그를지정받는다. 태그는 ASN.1 에서표준으로지정될수도있고, 사용자가지정할수도있고 태그는두개의부분으로구성된다 Class Universal, Application, Private and Context Specific Number non-negative integer of arbitrary size 태그는 PER 에의해인코딩되지않는다

48 태그 (Tags)(2) Universal Class 세계적으로유일하게지정되지않으면안되는클래스 Application Class 어떤특정 ASN.1 모듈속에유일하게정의되지않으면안되는클래스 해당클래스의데이터형은어떤특정한응용속에서만사용될태그 Context-Specific Class 구조형의 ASN.1 데이터형속에유일하게지정되지않으면클래스 해당클래스태그는정의되어있는데이터형속에의미를가지며, 외부에서는의미를갖지않음 Private Class 상호합의되어있는어떤특정기업및단체에속에서유일하게지정할수있는클래스

49 태그 (Tags)(3) BER 4개의구성요소로구성 Identifier Octets Contents Octets End of Contents(EOT) Length Octets Identifier Octets의 Encoding 데이터값의형식에대한태그값을 encoding 태그번호의범위가 0~30이면 ID Octet은단일 Octet으로구성 8 비트 7 비트 6 비트 5 비트 4 비트 3 비트 2 비트 1 비트 1~5 비트 : 태그번호 6 비트 : P/C (0 : 기본요소, 1: 구조화 ) 7~8 비트 : 태그클래스 (00, 01, 10, 11)

50 태그 (Tags)(4) BER- 계속 Identifier Octets 의 Encoding 계속 태그번호가 31 보다크면 ID. Octet 은하나이상의다음 Octet 이따르는선행 Octet 의로구성 연속 Octet 태그클래스 P/C 선두 Octet 태그번호

51 태그 (Tags)(5) BER 계속 Length Octet 단형길이 Contents Octet의길이를 encode하며, 최대 127개까지나타낼수있음 ID. Octets 0 길이 장형길이 Contents Octets 초기는길이 Octet 의길이를나타내며, 길이 Octet 은내용 Octet 의길이를니타냄 ID. Octets 1 초기 불확정길이 길이 Octet Contents Octets 이 EOT 에의해끝남 Contents Octets ID. Octets Contents Octets EOT

52 BER- 계속 Contents Octets 태그 (Tags)(6) O 또는하나이상의 Octet 으로구성되며 ASN.1 데이터값을 encode BOOLEAN 값 encode ID. Octets : 1 부호화형 : 기본요소 Contents Octet : 단일 Octet 내용값 : FALSE(0), TRUE(1) 정수값 encode ID. Octet : 2 부호화형 : 기본요소 Contents : 하나이상의 Octet 으로구성되며, 2 의보수로표시함

53 태그 (Tags)(7) Type INTEGER/Integer32 SNMPv1 protocol SNMPv2 protocol ASN.1 Tag UNIVERSAL 2 Tag Number 0x02 Tag Value 0x02 OCTET STRING UNIVERSAL 4 0x04 0x04 NULL UNIVERSAL 5 0x05 0x05 OBJECT IDENTIFIER UNIVERSAL 6 0x06 0x06 SEQUENCE UNIVERSAL 16 0x10 0x30 IpAddress APPLICATION 0 0x00 0x40 Counter/Counter32 APPLICATION 1 0x01 0x41 Gauge/Gauge32 APPLICATION 2 0x02 0x42 TimeTicks APPLICATION 3 0x03 0x43 Opaque APPLICATION 4 0x04 0x44 Counter64 APPLICATION 6 0x06 0x46

54 ASN.1 표현 (1) BOOLEAN Values true or false Tag UNIVERSAL 1 Type Notation Married ::= BOOLEAN ValueAvailable ::= BOOLEAN

55 ASN.1 표현 (2) INTEGER Values 숫자로구성양수또는음수, 크기제한없음 Tag UNIVERSAL 2 Type Notation Size ::= INTEGER Color ::= INTEGER {red(0), blue(1), yellow(2)}

56 ENUMERATED ASN.1 표현 (3) Values 음수가아닌정수값으로구성됨 Tag UNIVERSAL 10 Type Notation Color ::= ENUMERATED { red(0), blue(1), yellow(2)} Color ::= ENUMERATED {red, blue, yellow}

57 ASN.1 표현 (4) REAL Values 실수값 ( 부동소수점 ) 숫자들 Tag UNIVERSAL 9 Type Notation PoundsPerSquareInch ::= REAL

58 ASN.1 표현 (5) BIT STRING Values 비트의문자열, 길이제한없음 암호화 /FAX 데이터 Tag UNIVERSAL 3 Type Notation DigitizedVoice ::= BIT STRING Color ::= BIT STRING {red(0), blue(1), yellow(2)}

59 OCTET STRING ASN.1 표현 (6) Value 옥텟 (8-bit bytes) 으로구성된문자열 Tag UNIVERSAL 4 Type Notation TransparentType ::= OCTET STRING BinaryFile ::= OCTET STRING

60 ASN.1 표현 (7) NULL Values 널 (NULL) Tag UNIVERSAL 5 Type Notation PlaceHolder ::= NULL

61 ASN.1 표현 (8) SEQUENCE Values 순서가있는값들의나열 Tag UNIVERSAL 16 Type Notation PersonnelRecord ::= SEQUENCE { name OCTET STRING, location INTEGER {homeoffice(0), fieldoffice(1), roving(2)}, age INTEGER OPTIONAL }

62 SEQUENCE OF ASN.1 표현 (9) Values 순서가있는값들의반복 Tag UNIVERSAL 16 Type Notation PersonnelRecord ::= SEQUENCE { name OCTET STRING, location INTEGER {homeoffice(0), fieldoffice(1), roving(2)}, age INTEGER OPTIONAL } PersonnelFile ::= SEQUENCE OF PersonnelRecord

63 ASN.1 표현 (10) SET Values 순서없는값들의목록 Tag UNIVERSAL 17 Type Notation Building ::= SET { address OCTET STRING, occupied BOOLEAN } PersonnelRecord ::= [0] IMPLICIT SET { name [0] IMPLICIT OCTET STRING, location [1] IMPLICIT INTEGER {homeoffice(0), fieldoffice(1), roving(2)} OPTIONAL, age [2] IMPLICIT INTEGER OPTIONAL }

64 ASN.1 표현 (11) Seq :: = SEQUENCE { } one [1] INTEGER OPTIONAL two [2] INTEGER OPTIONAL SeqVal ::= Seq { one 10 } IMPLICIT SeqVal이 T(SEQ),L,[T(1),L,V(10)] 로인코딩위와같은경우를 IMPLICIT 인코딩이라고함 IMPLICIT이의미하는것은 [1] 의 tag 정보만으로실제의 type을알수있기때문에굳이실제의 type을사용하지않는다는것을의미 EXPLICIT Tag 의정보를사용하고실제 Type 의정보또한보내도록하는 Option 을사용할수있음 이경우 EXPLICIT TAG 라고함 T(SEQ),L,{T(1),L,[T(INTEGER),L,V(10)]}

65 IMPLICIT 기존데이터형 Tag 를치환 ASN.1 표현 (12) EncryptionKey ::= [UNIVERSAL 30] IMPLICIT OCTET STRING 기존데이터형이옥텟스트링형의태그를새로지정한태그 [UNIVERSAL 30] 으로치환하는경우 EXPLICIT 기존데이터형의태그를치환하지않음

66 ASN.1 표현 (13) SET OF Values 순서없이반복된값들 Tag UNIVERSAL 17 Type Notation PersonnelRecord ::= [0] IMPLICIT SET { name [0] IMPLICIT OCTET STRING, location [1] IMPLICIT INTEGER {homeoffice(0), fieldoffice(1), roving(2)} OPTIONAL, age [2] IMPLICIT INTEGER OPTIONAL } PersonnelFile ::= SET OF PersonnelRecord

67 COMPONENTS OF ASN.1 표현 (14) 인자들이다른 SEQUENCE 또는 SET 을포함함을표시하기위해사용 CommonParameters ::= SEQUENCE { responserequired BOOLEAN, requestid INTEGER} ResponsePDU1 ::= SEQUENCE { COMPONENTS OF CommonParameters, result OCTET STRING} --equivalent to ResponsePDU2 ::= SEQUENCE { responserequired BOOLEAN, requestid INTEGER, result OCTET STRING}

68 ASN.1 표현 (15) CHOICE Values Tag Type Notation 기술된요소중에하나를선택선택된요소에따라결정 MessageType ::= CHOICE { text OCTET STRING, codednumeric INTEGER} Division ::= CHOICE { manufacturing [0] IMPLICIT SEQUENCE { plantid INTEGER, majorproduct OCTET STRING}, r-and-d [1] IMPLICIT SEQUENCE { labid INTEGER, currentproject OCTET STRING}, unassigned [2] IMPLICIT NULL }

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

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 Chap. 5 Sending and Receiving Data 제 5 장데이터의송수신 5.1 정수인코딩 5.2 메시지생성, 프레이밍, 그리고파싱 5.3 마무리 TCP/IP 바이트전송 TCP/IP 프로토콜은바이트 (bytes) 를전송함 응용프로그램끼리의미를부여할뿐, TCP/IP 는단지단위데이터를전송 택배기사는내용물에큰의미를부여하지않으며단지택배박스를원하는곳으로전달할뿐

More information

The Pocket Guide to TCP/IP Sockets: C Version

The Pocket Guide to  TCP/IP Sockets: C Version 인터넷프로토콜 5 장 데이터송수신 (1) 1 제 5 장데이터의송수신 5.1 정수인코딩 5.2 메시지생성, 프레이밍, 그리고파싱 5.3 마무리 2 들어가기전 TCP/IP 는사용자의데이터를검사하거나변경하지않고그대로전송 응용프로토콜은연속적인필드로구성된메시지형태로정의 인코딩 (encoding)/ 디코딩 (decoding) 또는파싱 (parsing) 네트워크응용프로그램개발방법

More information

0. 들어가기 전

0. 들어가기 전 1 목포해양대해양컴퓨터공학과 11 장. 상위계층 (2) - 표현계층 컴퓨터네트워크 2 목포해양대해양컴퓨터공학과 이번시간의학습목표 네트워크에서데이터표현의일관성이무엇인지이해 데이터압축원리이해 3 목포해양대해양컴퓨터공학과 표현계층 응용프로세스사이에전송되는메시지의표현방법과관련 전송메시지에표현된문법 (syntax) 내용을통신양단의프로세스가해석하는기능제공 송신프로세스가전달하려는의미

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

BMP 파일 처리

BMP 파일 처리 BMP 파일처리 김성영교수 금오공과대학교 컴퓨터공학과 학습내용 영상반전프로그램제작 2 Inverting images out = 255 - in 3 /* 이프로그램은 8bit gray-scale 영상을입력으로사용하여반전한후동일포맷의영상으로저장한다. */ #include #include #define WIDTHBYTES(bytes)

More information

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

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

More information

thesis

thesis ( Design and Implementation of a Generalized Management Information Repository Service for Network and System Management ) ssp@nile nile.postech.ac..ac.kr DPE Lab. 1997 12 16 GMIRS GMIRS GMIRS prototype

More information

yessign Version 3.1 (yessign). ccopyright 2009 yessign ALL RIGHTS RESERVED

yessign Version 3.1 (yessign). ccopyright 2009 yessign ALL RIGHTS RESERVED yessign Version 3.1 (yessign). ccopyright 2009 yessign ALL RIGHTS RESERVED - - 2000. 8.29. 2000. 8.29. 2001. 7. 5. 2001. 7. 5. 2001.12.17. 2001.12.17. 2002. 3.12. 2002. 3.12. 2002. 8.21. 2002. 9. 5. 2002.12.27.

More information

bn2019_2

bn2019_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

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

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.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

- - yessign Version 3.5 (yessign)

- - yessign Version 3.5 (yessign) - - yessign Version 3.5 (yessign). 2000. 8.29. 2000. 8.29. 2001. 7. 5. 2001. 7. 5. 2001.12.17. 2001.12.17. 2002. 3.12. 2002. 3.12. 2002. 8.21. 2002. 9. 5. 2002.12.27. 2003. 1.13. 2004. 3.31. 2004. 6.12.

More information

PowerPoint 프레젠테이션

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

More information

Microsoft Word doc

Microsoft Word doc TCP/IP 구조 1. I.P 구조설명 2. ARP 구조설명 3. TCP 구조설명 4. UDT 구조설명 5. RIP 구조설명 6. BOOTP 구조설명 7. TFTP 구조설명 destination addr source addr type data CRC 6 6 2 46-1500 4 type 0X0800 IP datagram 2 46-1500 type 0X0806

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

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

Slide 1

Slide 1 OID 관련국제표준화현황및 OID 해석프로토콜기술 이준섭 2009. 5. 12 Contents OID 의개요 OID 의개념 OID Tree OID Repository OID 의인코딩 OID 관련국제표준화현황 OID Resolution System 개요 구조 입출력 동작예제 필요성 미해결이슈 OID 의개념 (1/2) OID (Object Identifier,

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

SMB_ICMP_UDP(huichang).PDF

SMB_ICMP_UDP(huichang).PDF SMB(Server Message Block) UDP(User Datagram Protocol) ICMP(Internet Control Message Protocol) SMB (Server Message Block) SMB? : Microsoft IBM, Intel,. Unix NFS. SMB client/server. Client server request

More information

0. 들어가기 전

0. 들어가기 전 컴퓨터네트워크 14 장. 웹 (WWW) (3) - HTTP 1 이번시간의학습목표 HTTP 의요청 / 응답메시지의구조와동작원리이해 2 요청과응답 (1) HTTP (HyperText Transfer Protocol) 웹브라우저는 URL 을이용원하는자원표현 HTTP 메소드 (method) 를이용하여데이터를요청 (GET) 하거나, 회신 (POST) 요청과응답 요청

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

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

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

chap7.key

chap7.key 1 7 C 2 7.1 C (System Calls) Unix UNIX man Section 2 C. C (Library Functions) C 1975 Dennis Ritchie ANSI C Standard Library 3 (system call). 4 C?... 5 C (text file), C. (binary file). 6 C 1. : fopen( )

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

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

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

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

More information

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

TCP.IP.ppt

TCP.IP.ppt TCP/IP TCP/IP TCP/IP TCP/IP TCP/IP Internet Protocol _ IP Address Internet Protocol _ Subnet Mask Internet Protocol _ ARP(Address Resolution Protocol) Internet Protocol _ RARP(Reverse Address Resolution

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A 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

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft 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 information

2009년 상반기 사업계획

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

More information

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - e pptx Import/Export Data Using VBA Objectives Referencing Excel Cells in VBA Importing Data from Excel to VBA Using VBA to Modify Contents of Cells 새서브프로시저작성하기 프로시저실행하고결과확인하기 VBA 코드이해하기 Referencing Excel Cells

More information

PowerPoint Presentation

PowerPoint Presentation Class - Property Jo, Heeseung 목차 section 1 클래스의일반구조 section 2 클래스선언 section 3 객체의생성 section 4 멤버변수 4-1 객체변수 4-2 클래스변수 4-3 종단 (final) 변수 4-4 멤버변수접근방법 section 5 멤버변수접근한정자 5-1 public 5-2 private 5-3 한정자없음

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

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

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

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

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

PowerPoint Presentation

PowerPoint 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 information

歯9장.PDF

歯9장.PDF 9 Hello!! C printf() scanf() getchar() putchar() gets() puts() fopen() fclose() fprintf() fscant() fgetc() fputs() fgets() gputs() fread() fwrite() fseek() ftell() I/O 2 (stream) C (text stream) : `/n'

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

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트

[ 네트워크 1] 3 주차 1 차시. IPv4 주소클래스 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트 3 주차 1 차시 IPv4 주소클래스 학습목표 1. IP 헤더필드의구성을파악하고요약하여설명할수있다. 2. Subnet ID 및 Subnet Mask 를설명할수있고, 각클래스의사용가능한호스트수와사설 IP 주소및네트워크주소와 브로드캐스트주소를설명할수있다. 학습내용 1 : IP 헤더필드구성 1. Network Layer Fields 2. IP 헤더필드의구성 1)

More information

슬라이드 1

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

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음

More information

untitled

untitled 2006 517 ICS KS X ISO 2006 Transport Protocol Experts Group(TPEG) TPEG specifications CTT(Congestion and TravelTime Information) TPEG()., TPEG Part TPEG. TPEG TPEG TDC(Transparent Data Channel). (Digital

More information

Index Process Specification Data Dictionary

Index Process Specification Data Dictionary Index Process Specification Data Dictionary File Card Tag T-Money Control I n p u t/o u t p u t Card Tag save D e s c r i p t i o n 리더기위치, In/Out/No_Out. File Name customer file write/ company file write

More information

OPCTalk 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 information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 (   ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각 JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.

More information

자바-11장N'1-502

자바-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

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

hd1300_k_v1r2_Final_.PDF

hd1300_k_v1r2_Final_.PDF Starter's Kit for HelloDevice 1300 Version 11 1 2 1 2 3 31 32 33 34 35 36 4 41 42 43 5 51 52 6 61 62 Appendix A (cross-over) IP 3 Starter's Kit for HelloDevice 1300 1 HelloDevice 1300 Starter's Kit HelloDevice

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

<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

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. 오늘할것 5 6 HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M. Review: 5-2 7 7 17 5 4 3 4 OR 0 2 1 2 ~20 ~40 ~60 ~80 ~100 M 언어 e ::= const constant

More information

Microsoft PowerPoint - chap11.ppt [호환 모드]

Microsoft PowerPoint - chap11.ppt [호환 모드] 2010-1 학기프로그래밍입문 (1) 11 장입출력과운영체제 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr k 0 특징 printf() - 임의의개수의인자출력 - 간단한변환명세나형식을사용한출력제어 A Book on C, 4ed. 11-1 printf() printf(control_string, other_argument) -

More information

11장 포인터

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

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 표준입출력 printf() (1) 특징 임의의개수의인자출력 간단한변환명세나형식을사용한출력제어 형식 printf(control_string, other_argument) 예 printf("she sells %d %s for $%f", 99, "sea shells", 3.77); control_string: "she sells %d %s for $%f"

More information

PowerPoint Presentation

PowerPoint Presentation FORENSIC INSIGHT; DIGITAL FORENSICS COMMUNITY IN KOREA SQL Server Forensic AhnLab A-FIRST Rea10ne unused6@gmail.com Choi Jinwon Contents 1. SQL Server Forensic 2. SQL Server Artifacts 3. Database Files

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

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

슬라이드 1

슬라이드 1 / 유닉스시스템개요 / 파일 / 프로세스 01 File Descriptor file file descriptor file type unix 에서의파일은단지바이트들의나열임 operating system 은파일에어떤포맷도부과하지않음 파일의내용은바이트단위로주소를줄수있음 file descriptor 는 0 이나양수임 file 은 open 이나 creat 로 file

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 3 if, if else, if else if, switch case for, while, do while break, continue : System.in, args, JOptionPane for (,, ) @ vs. logic data method variable Data Data Flow (Type), ( ) @ Member field

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

Microsoft PowerPoint - Java7.pptx

Microsoft PowerPoint - Java7.pptx HPC & OT Lab. 1 HPC & OT Lab. 2 실습 7 주차 Jin-Ho, Jang M.S. Hanyang Univ. HPC&OT Lab. jinhoyo@nate.com HPC & OT Lab. 3 Component Structure 객체 (object) 생성개념을이해한다. 외부클래스에대한접근방법을이해한다. 접근제어자 (public & private)

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 제 13 장파일처리 1. 스트림의개념을이해한다. 2. 객체지향적인방법을사용하여파일입출력을할수있다. 3. 텍스트파일과이진파일의차이점을이해한다. 4. 순차파일과임의접근파일의차이점을이해한다. 이번장에서만들어볼프로그램 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 입출력관련클래스들 파일쓰기

More information

제1장 Unix란 무엇인가?

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

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

Microsoft PowerPoint - lec2.ppt

Microsoft PowerPoint - lec2.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 어휘구조 토큰 주석 자료형기본자료형 참조형배열, 열거형 2 어휘 (lexicon) 어휘구조와자료형 프로그램을구성하는최소기본단위토큰 (token) 이라부름문법적으로의미있는최소의단위컴파일과정의어휘분석단계에서처리 자료형 자료객체가갖는형 구조, 개념, 값, 연산자를정의 3 토큰 (token) 정의문법적으로의미있는최소의단위예,

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

final_thesis

final_thesis CORBA/SNMP DPNM Lab. POSTECH email : ymkang@postech.ac.kr Motivation CORBA/SNMP CORBA/SNMP 2 Motivation CMIP, SNMP and CORBA high cost, low efficiency, complexity 3 Goal (Information Model) (Operation)

More information

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습

버퍼오버플로우-왕기초편 10. 메모리를 Hex dump 뜨기 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습 앞서우리는버퍼오버플로우로인해리턴어드레스 (return address) 가변조될수있음을알았습니다. 이제곧리턴어드레스를원하는값으로변경하는실습을해볼것인데요, 그전에앞서, 메모리에저장된값들을살펴보는방법에대해배워보겠습니다. 여러분모두 Windows 에서 hex editor(hex dump, hex viewer) 라는것을사용해보셨을겁니다. 바로바이너리파일을 16 진수

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-

1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)- 1.2 자료형 (data type) 프로그램에서다루는값의형태로변수나함수를정의할때주로사용하며, 컴퓨터는선언된 자료형만큼의메모리를확보하여프로그래머에게제공한다. 1.2.1 정수 (integer) 1) int(4 bytes) 연산범위 : (-2 31 ) ~ (2 31 /2)-1 연산범위이유 : 00000000 00000000 00000000 00000000의 32

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 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 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