컴퓨터네트워크

Size: px
Start display at page:

Download "컴퓨터네트워크"

Transcription

1 컴퓨터네트워크 TCP/IP Socket Programming

2 강의내용 : TCP/IP Socket 프로그래밍 지난날의대학교컴퓨터네트워크과목은대부분프로그래밍실습이없이 이론적인분석과추상적인기술을다루는과목이었다. 간혹교과서에프로그램코드가소개되기도하지만그것은실습을위한 것이라기보다는설명을돕기위한것에불과한경우가많았다. 오늘날인터넷의발달로일상생활속에서네트워크를접하게되었고수천만대의컴퓨터들이인터넷을통해서서로연결되어있다. 이제이런인터넷환경에서의프로그래밍기술이컴퓨터관련학과학생들에게필수적인조건이되었다. 이런이유로이교과목에서는이론적인내용을최소화하고주로 TCP/IP Socket 인터페이스를사용한네트워크프로그래밍실습을주된 내용으로다룬다.

3 용어정의 Computer Network: Communication Channel( 통신채널 ) 을통하여서로연결되어있는 Machine( 통신장치 ) 들의집합통신장치는주로 Host, Router 들을일컷는다. Communication Channel: 정보를포함하고있는일련의바이트 (sequence of bytes) 들을이동시키는매체. Ethernet, dial-up Modem 등. Host: Application( 응용프로그램 ) 이실행되고있는사용자컴퓨터, 혹은서버컴퓨터. 컴퓨터네트워크의끝단에있는장치. Router: 하나의 Communication Channel 에서다른 Channel 로정보를중계, 전달하는장치이다. Router 도소프트웨어가실행되고는있지만그런소프트웨어는응용프로그램이라고볼수는없다. 세상의모든호스트들을직접연결하는것은실질적으로불가능하므로소그룹의호스트들을 Router 를통하여그룹간에연결하는방식은오늘날의인터넷을구성하는핵심장치이다. 호스트에서실행되는응용프로그램은 Router 와직접연결되는일은없으므로응용프로그램을개발하는입장에서는 Router 의존재를몰라도상관없다.

4 용어정의 Packet: 프로그램에의해서만들어진정보를포함하는일련의 Byte 들을컴퓨터네트워크의환경에서는 Packet 이라고부른다. Packet 에는응용프로그램이생성한 User Data( 사용자데이터 ) 와각프로토콜계층을통과하면서추가되는 Control Data( 콘트롤데이터 ) 들로이루어져있다. User Data: 응용프로그램간에전달되는정보. 이정보는네트워크의양끝에있는 Host 의응용프로그램간에만의미를갖는다. 그이외에의장소즉, Packet 이경유하는 Router, Channel 등에서는단순히 Payload 일뿐이다. Control Data: 목적지주소 (IP 주소 ), 에러복구를위한코드등 packet 을정확히전달하기위해서필요한데이터. Payload: 각프로토콜계층에서책임지고전달해야할일련의바이트들로이루어진전달대상물 Protocol: 통신프로그램간에 Packet 을교환하기위한규약 ( 약속 ). Packet 의구조의정의 ( 예 : 목적지주소의위치및길이 ) 및 Encoding 방법등 Host 간에 packet 을교환하기위해서해결되어야할모든기술적인약속의통칭이다. 통신상에발생하는문제들의분야별로프로토콜그룹을계층화한다. TCP/IP 는그런프로토콜계층중의중요한부분을담당하고있으며흔히 Internet Protocol 이라고부른다. TCP/IP 의주요계층은 Transport 계층과 Network 계층이다.

5 용어정의 Network 계층 (Layer): Packet 을목적지에정확히신속히보내기위한경로설정과관련된기능을수행하는계층으로서이를위하여 TCP/IP suit 에서는 IP(Internet Protocol) 포로토콜을제공한다. IP(Internet Protocol): 호스트와호스트가마치하나의채널로연결된것처럼보이게 ( 느껴지게 ) 하기위하여두호스트간에존재하는채널과라우터를선택하는기능 ( 경로설정 ) 을수행한다. IP 프코토콜은 Datagram 서비스를제공하는 Best-Effort 프로토콜이다. Datagram: IP 프로토콜간에교환되는 packet 으로서각각의 Packet 마다주소를기록하여각자의경로를통하여전공된다. 같은그룹을이루는 packet 이다른경로를통하여전달될수도있기때문에나중에보낸 Packet 이먼저보낸 packet 보다먼저 Host 에도착할수도있다. Best-Effort 서비스 : 최선을다하여데이터를전송하지만물리적인환경의제약에의해데이터의손실이나, 중복등이발생할수있는전송서비스.

6 용어정의 Transport 계층 (Layer): Host 와 Host(End-to-End: 단대단 ) 간의 Packet 교환을담당하는계층으로서 TCP/IP suit 에서는 TCP, UDP 두프로토콜을제공한다. 호스트와호스트간의신뢰성있는데이터교환을위하여혼잡제어, 데이터버퍼관리등의기능을수행하는계층이다. TCP(Transfer Control Protocol): Connection Oriented( 연결기반 ) 프로토콜로서 TCP 는 IP 계층의기능상발생가능한에러 ( 데이터손실, 중복등 ) 를감독하고보완하는기능을수행한다. TCP 포로토콜이 Host 간의신뢰성있는 Byte_Stream 을보장하기때문에그위에있는응용프로그램은이문제로부터자유로워질수가있다. UDP(User Datagram Protocol): TCP 와는달리연결을설정하지않으며에러처리도하지않는프로토콜로서 Best-Effort 서비스를 Host 가아닌응용프로그램까지연장한형태의프로토콜이다. 따라서, UDP 서비스를사용하는응용프로그램은자체적으로에러처리 ( 데이터손실, 중복데이터등의처리 ) 를해야한다. Connection Oriented 프로토콜 : 데이터의전송을시작하기전에미리두프로그램간에 Handshake Message 의교환을통한연결설정작업이필요한전송방법. 두프로그램간에연결이됐다는것은두프로그램이서로의존재를인식하고데이터를주고받기위한준비를마치고서로를기대하는상태가됨을의미한다. Hand-Shake: 두프로그램간에서로의주소를교환하고한번에처리할수있는데이터의크기등을교환하여원활한통신을하기위한상대방의정보를주고받는절차

7 호스트 호스트 어플리케이션 어플리케이션 소켓 소켓 트랜스포트계층 TC P U D P 라우터 TC P U D P 트랜스포트계층 네트워크계층 IP 채널 IP 채널 IP 네트워크계층

8 용어정의 Address( 주소 ): 편지를보낼때봉투에주소를정해진위치에정해진규칙에의하여기재하듯이또한, 전화를할때먼저상대방의전화번호를정확히입력하여야하듯이인터넷상에서데이터를교환하려면데이터의목적지에해당하는주소가있어야한다. TCP/IP suit 에의하여사용되는주소로는 IP Address 라고불리우는 Internet Address 와 TCP/UDP 가응용프로그램을구별하기위하여사용하는 Port 번호두가지가있다. IP 주소 : IP 주소는인터넷상에서통신장비 ( 호스트포함 ) 를구별해내기위한값으로서주로부호없는정수가사용된다. 통신장비는통신채널에연결되어있기때문에 IP 주소는통신장비와직접연결된채널의주소라고도볼수있다. 따라서, Router 와같이하나이상의채널에연결된장비는 IP 주소도하나이상을가지고있다. IP 주소는두개의버전이있는데현재많이사용되는 IPv4(IP version 4) 과 IPv6(IP version 6) 이있다. IPv4: 4 바이트 (32bits) 크기의부호없는정수로서사람이읽기편하도록한바이트씩끊어서 4 개의숫자로나타낸다 ( 숫자사이에점을찍어서문자열처럼표시한다 ). ( 예 : ). 각숫자는 0 부터 255 사이의값이다. 할당할수있는전체 IP 주소의개수는 232 로서 42 억여개의통신장비에주소를지정할수있다. IPv6: IPv4 로서필요한 IP 주소를모두할당하기에는부족을느끼게되어길이를늘린형태의 IP 주소. 16 바이트 (128bits) 길이의정수로서 IPv4 보다훨씬많은개수의통신장비에주소를부여할수있다 (2128 개 ).

9 용어정의 Port 번호 : IP 주소는 Host 의주소 (Host 가연결된 Channel 의주소 ) 이다. 따라서 IP 주소를사용하여해당 Host 까지데이터를전달하는것이가능하다. Host 에도착한데이터는그데이터를사용할응용프로그램에게전달되어야한다. 그러나하나의 Host( 컴퓨터 ) 에서 Socket 을사용하여실행되고있는응용프로그램이여러개있을수있다. 이런경우 Host 에서실행되고있는응용프로그램을서로구별하기위하여또하나의주소가필요하다. 이목적을위하여사용하는것이 Port 번호이다. Port번호는 16bit의부호없는정수로서 1부터 65535까지의값이사용된다. 그중일부는일반적으로많이사용되는응용프로그램그룹에할당되어있는숫자가있다. 예를들면 21번포트는 FTP, 80번포트는 HTTP에할당되었기때문에일반적인목적으로사용되는포트는이런잘알려진포트 (Well Known Port) 의값을사용하지않아야한다. Socket: Socket 은응용프로그램이 TCP/IP 의존재를인식하지않고상대방응용프로그램에접근하여마치파일에서데이터를쓰고읽는것처럼인터넷을사용할수있게해주는개념적인통신 API 이다. 응용프로그램에의하여 Socket 에 Write 된데이터는다른호스트의응용프로그램에의하여 Read 된다.

10 용어정의 Domain name: 숫자로나타내는 IP 주소는사람이기억하기어려운단점이있다. 그보다더심각한문제로는같은통신장비의 IP 주소가바뀔수가있다는점이다. 예를들면홈페이지서버의 IP 주소가 이었다가어느날네트워크구성을다시하는과정에서 로바뀌었다고가정하자. 그렇게되면 IP 주소가바뀐것을모르는사람은계속 를사용하게되고결국연결이되지않을것이다. 이런문제를해결하기위하여 IP 주소를직접사용하지않고 IP 주소에의미있는단어로구성된이름을할당하는방법을사용한다. 이른 Domain Name 이라고한다. 예를들어서 의 Domain name 은 cse.konyang.ac.kr 을사용한다. 이정보는 Domain Name Server 에의하여관리가된다. 만약 IP 주소가바뀐다하여도 Domain Name Server 의테이블만수정하면우리는계속하여 cse.konyang.ac.kr 를사용할수있는것이다. Domain name 은계층적으로구성하여 IP 주소가할당된통신장비의인터넷상에서의소속정보도제공한다. cse.konyang.ac.kr 은그이름에서대한민국의대학교육기관중의하나인건양대학교의 cse 라는이니셜을사용하는서버라는것을알수있다.

11 용어정의 Server and Client: 전화통화를할때언제나먼저전화를거는사람이있고그전화를받는사람이있게된다. 인터넷통신도마찬가지로통신을먼저요청하는개체가있고그요청을받아서응답하는개체로성격이나뉘어진다. 여기서먼저통신을요청하는개체를 Client( 고객 ) 이라고하고, 통신요청을기다리고있다가요청에응답하는개체를 Server( 서버 ) 라고한다. Server 는누가통신을요청할지모르는상태에서기다리고있게되지만, Client 는자신이통신하려는상대방을정확히알고있어야한다. 이러한특성때문에 Server 와 Client 프로그램은코딩상에서서로다른구조를가지고있다.

12 컴퓨터네트워크 Socket Programming

13 Domain Name 으로 IP 주소알아내기 Client 가 Server 에연결하기위하여서는서버의 IP 주소와 Port 번호를알고있어야한다. IP 주소대신 Domain Name 을사용하는경우에는 Domain Name Server(DNS) 를통하여해당 Name 에 Mapping 된 IP 주소를알아내야한다..NET 에서는통하여 DNS 의정보를얻기위하여 Dns 클래스를제공한다. Dns 클래스 Dns 클래스는호스트이름이나 IP 주소에대하여 Domain Name Server 가가지고있는정보를제공하기위하여몇몇개의 static 메소드를제공한다. Dns 클래스메소드 public static IPHostEntry GetHostByAddress(IPAddress address); IPAddress 객체를전달받아서해당호스트의 DNS 정보가들어있는 IPHostEntry 객체를 return 한다. (AugmentNullException, SocketException, SecurityException 이발생할수있다.) public static IPHostEntry GetHostByAddress(string dotaddress); dotted-quad 문자열 IP 주소를전달받아서 DNS 정보가들어있는 IPHostEntry 객체를 return 한다. (AugmentNullException, SocketException, FormatException 이발생할수있다.) public static IPHostEntry GetHostByName(string hostname); 컴퓨터의도메인이름을전달받아서 DNS 정보가들어있는 IPHostEntry 객체를 return 한다. (AugmentNullException, SocketException, FormatException 이발생할수있다.) public static IPHostEntry GetHostByName(string hostname); 컴퓨터의도메인이름을전달받아서 DNS 정보가들어있는 IPHostEntry 객체를 return 한다. (AugmentNullException, SocketException, FormatException 이발생할수있다.) public static string GetHostName( ); Local 호스트의이름을문자열로 return.

14 IPAddress 클래스 IP 네트워크의주소정보를포함하고있다. IPAddress 클래스메소드 public IPAddress(long address); 생성자생성자함수로서부호없는 4 바이트의정수값을전달받아서 IP 주소정보가들어있는 IPAddress 객체를 return public static short HostToNetworkOrder(short); short 정수의바이트순서를네크워크의순서로수정 public static int HostToNetworkOrder(int); public static long HostToNetworkOrder(long); public static short NetworkToHostOrder(short); short 정수의바이트순서를호스트의순서에맞게 public static int NetworkToHostOrder(int); public static long NetworkToHostOrder(long); public static IPAddress Parse(string dotaddress); dotted-quad 타입의 IP 주소를받아서 IPAddress 객체를 return IPAddress Fields public static readonly IPAddress Any; Any network 인터페이를의미하는 의주소. public static readonly IPAddress Broadcast Subnet 의모든호스트를의미하는 의주소 public static readonly IPAddress Loopback Local 호스트를 의주소

15 IPHostEntry 클래스 Dns 클래스의 GetHostByName(), GetHostByAddress(), Resolve() 메소드가 Return 하는 Container 클래스로서 DNS 의정보를담고있다. IPHostEntry 클래스프로퍼티 public IPAddress[] AddressList { get; set; IPAddress 객체들의배열 public string[] Aliases { get; set; 별칭문자열배열 public string HostName { get; set; 호스트의정식이름 (Canonical Name)

16 아래의프로그램코드는 Dns 클래스의 static 메소드를사용하여 IP 주소를알아내는예제프로그램이다. 아래의코드를복사하여실행해보라프로젝트명 : IPAddressIinfo, 파일명 : IPAddressInfo.cs using System; // Console 클래스, String 타입등의 ns using System.Net; //Dns, IPHostEntry, IPAddress 를위한 ns using System.Net.Sockets; // Socket 을위한 ns namespace cse13.ipaddressinfo { class IPAddressInfo { static void Main(string[] args) { string localhostname; try { localhostname = Dns.GetHostName(); catch (Exception e) { Console.WriteLine(" 호스트를찾을수없습니다.\n" + e.message); return; //catch Console.WriteLine("Local 호스트정보 :"); PrintHostInfoByName(localHostName); PrintHostInfoByName(" //Main() // static void PrintHostInfoByName(String host) { IPHostEntry hostinfo; try { //hostinfo = Dns.GetHostEntry(host); //hostinfo = Dns.Resolve(host); hostinfo = Dns.GetHostByName(host); catch (Exception e) { Console.WriteLine(" 호스트를찾을수없습니다 : " + host + " " + e.message); return; Console.WriteLine(" 정식이름 : \n\t" + hostinfo.hostname); Console.WriteLine("IP 주소 : "); foreach(ipaddress ipaddr in hostinfo.addresslist) { Console.WriteLine("\tdotted-quad: {0 10진수 :({1) 16진수 :({1:X)", ipaddr.tostring(), ipaddr.address); Console.WriteLine(" "); //PrintHostInfoByName() //class IPAddressInfo //ns

17 Server and Client.NET 에서는 Winsock Socket 를좀더쉽게사용할있도록하기위한 Wrapper 로서다음의세개의 High Level 소켓을제공한다. 서버소켓 : TcpListener, 클라이언트소켓 : TcpClient, UdpClient 다음의예제는 TcpListener, 를사용하는사용하는간단한서버프로그램이다. 이서버는클라이언트로부터전달받은데이터를다시클라이언트에게돌려보낸다. using System; using System.IO; using System.Text; using System.Net; using System.Net.Sockets; namespace pjkim.tcpechoserver { class TCPEchoServer { static void Main() { // 버퍼크기 const int BUFSIZE = 100; TcpListenerServer // 포트번호 int portnumber = 9999; //Client 로부터전송되는데이터를받기위한버퍼 byte[] rcvbuffer = new byte[bufsize]; // 전달받은총 byte 수 int bytesrcvd; // 서버소켓 TcpListener server = null; //Client 소켓 TcpClient client = null; // 데이터 Stream NetworkStream netstream = null; // //Client 의연결요청을기다리기위하여 TcpListener 를생성하여실행 (Start) try { server = new TcpListener(IPAddress.Any, portnumber); server.start(); catch (SocketException e) { Console.WriteLine(e.ErrorCode + ": " + e.message); Environment.Exit(e.ErrorCode); 다음페이지에계속

18 앞페이지의뒤에붙여넣으세요 for (; ; ) { client = null; netstream = null; try { client = server.accepttcpclient(); netstream = client.getstream(); Console.WriteLine("Client 를처리하고있습니다..."); //Client 가연결을종료할때까지모든바이트를받음 //(Client 가연결을끊으면 return 값이 0 가됨 ) int totalbytesechoed = 0; while ((bytesrcvd = netstream.read(rcvbuffer, 0, rcvbuffer.length)) > 0) { netstream.write(rcvbuffer, 0, bytesrcvd); totalbytesechoed += bytesrcvd; //for Console.WriteLine("echoed {0 bytes.", totalbytesechoed); //Client 소켓과 Stream을닫음 netstream.close(); client.close(); catch (Exception e) { Console.WriteLine(e.Message); netstream.close(); //for(;;) //Main() //class TCPEchoServer //namespace

19 아래의프로그램은 Client 프로그램의예이다. 아래의프로그램은서버에연결하여일련의메시지를전송한후서버로부터되돌아오는데이터를받아서출력한다. using System; using System.IO; using System.Text; using System.Net; using System.Net.Sockets; namespace pjkim.tcpechoclient { class TCPEchoClient { static void Main() { string serveraddr = IPAddress.Loopback.ToString(); int portnumber = 9999; TcpClient string msg = "Hello 컴퓨터 Network"; byte[] bytebuffer = Encoding.Unicode.GetBytes(msg); TcpClient client = null; NetworkStream netstream = null; try { client = new TcpClient(serverAddr, portnumber); Console.WriteLine(" 서버에연결되었습니다... 메시지를보냅니다. \n 보내는메시지 : {0", msg); netstream = client.getstream(); //Encode 된메시지를전송 netstream.write(bytebuffer, 0, bytebuffer.length); Console.WriteLine("{0 바이트를서버에보냈습니다...\n", bytebuffer.length); // 서버로부터되돌아오는메시지를수신 int totalbytesrcvd = 0; int bytesrcvd = 0; while(totalbytesrcvd < bytebuffer.length) { if( (bytesrcvd = netstream.read(bytebuffer, totalbytesrcvd, bytebuffer.length - totalbytesrcvd)) == 0) { Console.WriteLine(" 연결이예기치않게종료되었습니다."); break; totalbytesrcvd += bytesrcvd; //while Console.WriteLine(" 서버로부터 {0 바이트를받았습니다. \n받은메시지 : {1", totalbytesrcvd, Encoding.Unicode.GetString(byteBUffer, 0, totalbytesrcvd)); catch(exception e) { Console.WriteLine(e.Message); finally { if (netstream!= null) netstream.close(); if(client!= null) client.close(); //Main() //class TCPEchoClient //namespace

20 프로그램설명 (TcpListenerServer) 참조파일은서버나클라이언트모두 System 하나만필요함. 1 행 ~ 30 행대부분의.NET 클래스가정의된 namespace IPAddress 클래스가정의된 namespace TcpListener, TcpClient 클래스가정의된 namespace 상수정수 100 포트번호 9999 길이 100byte 의 byte 배열선언 ( 데이터수신용 ) 서버가연결요청을처리하기위한소켓 reference 선언 연결된클라이언트를위한소켓서버는이소켓을통해서클라이언트와대화 클라이언트와데이터를주고받기위한스트림객체 reference. 연결된클라이언트로부터얻음.

21 프로그램설명 (TcpListenerServer) 31 행 ~ 40 행 TcpListener 객체생성 로컬단자에서연결요청대기시작. 서버소켓을생성하고연결요청을받는일을시작한다 (Start) TcpListener객체의생성자에 IPAddress.Any 주소 ( ) 와포트번호를전달한다. 포터번호를부여할때이미사용중인포트번호를중복하여지정하지않도록주의해야한다. 포트번호가중복되면 SocketException 예외가발생함. IPAddress.Any는 번지로서로칼인터페이스로들어오는모든주소를받아들인다. 42 행 ~ 72 행 Client 로부터연결요청이들어오기를기다리다가연결요청이오면연결을하고연결된클라이언트의 Socket 을 return 연결된 Client 와데이터를주고받을수있는 Stream 객체를얻는다. Stream 객체와 Client Socket 을닫는다 Client 로부터 byte stream 을받는다. 데이터는여러조각으로나뉘어서올수있으므로받은 byte 수가 0 이될때까지바복해서버퍼에받는다. 받은데이터는바로상대방에게보낸다. 상대방 Client 가연결을종료하면 Read 함수는 0 을 return 47 행의 AcceptTcpClient() 함수는클라이언트가연결을요청할때까지 Return 되지않고 Block 된상태로있다가연결요청이오면상대방과대화를위한 Socket 을생성하여 return 한다. 48 행의 GetStream 은연결될클라이언트와 byte stream 을주고받을수있는 NetworkStream 객체를 return.

22 프로그램설명 (TcpClient) 1 행 ~5 행.NET classes IOException Encoding IPAddress class Sockets 11 행 ~22 행 서버가클라이언트와같은컴퓨터에서실행되므로서버의주소는 Loopback( ) 으로지정 연결하려는서버의 port 번호 서버로송신할메시지 String 객체메시지는 Byte 배열로 Encoding 해야함 ( 한글이있으므로 Unicode) 18 행 : TCP socket 은일련의바이트 (sequences of bytes) 를주고받으므로 string 객체의문자열은 Byte 배열로전환되어야한다.

23 프로그램설명 (TcpClient) 11 행 ~22 행 클라이언트 Socket 객체생성함과동시에서버에연결 ( 생성자에서버의 IP 주소와 Port 번호를전달 ) 연결된 Socket 에서 NetworkStream 객체를얻음 ( 데이터송수신용 ) NeworkSteam 객체를사용하여서버에데이터전송 보낸메시지의길이만큼의 byte 를받을때까지 while 문안에서반복하여 Read. 만약받은데이터의길이가 0 인경우에는상대방과연결이끊어진것임. 송수신이성공했던실패했던마지막엔스트림과 Socket 을닫음. 31 행 : netstream.write(bytebuffer, 0, bytebuffer.length); 는 bytebuffer 에있는데이터를보내는데보내는데이터의시작위치는 0 번위치이고보내는양은길이 bytebuffer.length 만큼전송한다. ( 명령어는모든데이터를한번에보내는것처럼보이지만실제하부에서전달될때는작은덩어리로나누어서전달될수있다. 39 행 ~47 행 : 상대방이보내는데이터가한번에오지않을수있기때문에 while 문안에서원하는양의데이트를모두받을때까지반복하여수신한다. 만약기대하는만큼의데이터가도착하지않은상태에서 Read 함수가 0 을 return 하면그것은연결이비정상적으로종료된것으로생각할수있다.

24 TcpClient 클래스 TcpClient 는 TCP 프로토콜을사용하여쉽게상대방에연결하고데이터를주고받을수있는기능을제공하는클래스이다. 생성자 : public TcpClient(); public TcpClient(IPEndPoint localep); public TcpClient(string hostname, int port); TcpClient 생성자는위와같이세종류가있는데두번째생성자의경우는 IPEndPoint 에상대방의 IP 주소와 Port 번호정보가들어있다. 마지막생성자는호스트이름 /IP 주소, Port 번호가따로주어진다. 첫번째생성자처럼연결을위한정보가주어지지않은경우에는객체생성후사용하기전에반드기 Connect() 함수를호출하여직접연결을하여야한다. Methods: public void Close(); TCP 연결을종료한다. public void Connect(IPEndPoint); public void Connect(IPAddress address, int port); public void Connect(string hostname, int port); 위의생성자에서첫번째생성자를사용하여아직연결이되어있지않은경우에여기의세개의 Connect() 함수를사용하여연결을할수있다. ArgumentNullException, ArgumentOutOfRangeException, SocketException, ObjectDisposedException 등이발생할수있다. public NetworkStream GetStream(); NetworkStream 객체를 return 한다. InvalidOperationException, ObjectDisposedException

25 IPEndPoint 클래스 IPEndPoint 는 IP 주소와 Port 번호의쌍으로이루어진네트워크의종단의정보를갖고있다. 생성자 : public IPEndPoint(long address, int port); public IPEndPoint(IPAddress address, int port); 두개의생성자가있고각각망의종단점의정보를 argument 로받아들인다. Method: public virtual string ToString(); IPEndPoint 객체가가지고있는주소를문자열형태로 return 한다. 프로퍼티 : public IPAddress Address {get; set; 종단점의 IP 주소를가지고있는 IPAddress 객체 public int Port {get; set; 종단점의포트번호를가지고있는정수를가져오거나지정.

26 TcpListener 클래스 TcpListener 클라이언트의연결요청을관리하고요청을받아들이는등의기능을수행하는서버측 TCP 관리객체이다. 생성자 : public TcpListener(int port); public TcpListener(IPEndPoint localep); public TcpListener(IPAddress address, int port); 세개의생성자가있으나 port 번호만사용하는첫번째생성자는더이상사용되지않는다. Method: public Socket AcceptSocket(); 기다리고있는연결요청을받아서연결하고연결된 Socket 을 return. 이 Socket 을사용하여데이터를 send, receive 한다. public TcpClient AcceptClient(); 기다리고있는연결요청을받아서연결하고연결된 TcpClient 를 return. 이객체가제공하는 NetworkStream 을사용하여데이터를 read, write. public bool Pending(); 기다리고있는연결요청이있으면 true 를 return. Otherwise.. public void Start(); TcpListener 가내포하고있는 Socket 을초기화하고, Listen 을시작. public void Stop(); Listen 을종료하고 TcpListener 를닫는다. Accept 된 TcpClient 객체나, Socket 객체는개별적으로 close 해야함.

27 NetworkStream 클래스 Stream 은.NET 이제공하는추상화된기본적인 I/O 방식이다. Stream 은연속으로늘어선 Byte 들의흐름으로생각할수있다. 연결이완료된 TcpClient 객체는 NetworkStream 객체를가지고있어서이 Stream 객체를사용하여데이터를보내거나 (write), 가져온다 (read). Method: public virtual void Close(); NetworkStream 객체를닫는다. public abstract int Read(byte[] buffer, int offset, int len); len 만큼의 Byte 를읽어서 Buffer 의앞에서부터 offset 만큼떨어진위치에서부터 len 만큼의장소에집어넣는다. public abstract void Write(byte[] buffer, int offset, int len); buffer 의앞에서부터 offset 만큼떨어지위치에서부터시작해서길이 len 만큼의 byte 를전송한다. 프로퍼티 : public virtual bool DataAvailable {get; Stream 에읽을데이터가있으면 true 를 return 한다.

28 .NET Socket 클래스 앞에서사용한 TcpListener, TcpClient 클래스들은 Socket객체를쉽게사용할수있도록제공되는 Wrapper 클래스이다. 이클래스들을사용하면코딩도간결하고쉽지만아무래도기능면에서는어느정도제한이있다. 따라서, 간단함프로그램이아니라면 Socket클래스의객체를직접사용해야할경우도있을것이다. 여기서는앞에서코딩했던 TcpEchoServer, TcpEchoClient를 Socket 객체를직접사용하는방법으로다시작성하였다. 다음의서버, 클라이언트프로그램의코드를복사하여실행해보라. TcpSocketServer using System; using System.Net; using System.Net.Sockets; namespace pjkim.tcpechoserversocket { class TcpEchoServerSocket { const int BUFSIZE = 100; // 데이터받는버퍼크기 const int BACKLOG = 5; // 연결요청을기다리는큐의길이 static void Main() { int servport = 9999; Socket server = null; try { server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); server.bind(new IPEndPoint(IPAddress.Any, servport)); server.listen(backlog); catch(socketexception e) { Console.WriteLine(e.ErrorCode + ": " + e.message); Environment.Exit(e.ErrorCode); //catch byte[] rcvbuffer = new byte[bufsize]; int bytesrcvd; 다음페이지에계속

29 앞페이지의코드뒤에붙여넣으세요 for(;;) { Socket client = null; try { client = server.accept(); Console.WriteLine("{0 의 Client 가연결되었습니다.", client.remoteendpoint); int totalbytesechoed = 0; while((bytesrcvd = client.receive(rcvbuffer, 0, rcvbuffer.length, SocketFlags.None)) > 0 ) { client.send(rcvbuffer, 0, bytesrcvd, SocketFlags.None); totalbytesechoed += bytesrcvd; //while Console.WriteLine("{0 바이트를받아서전송했습니다.", totalbytesechoed); client.close(); catch(exception e) { Console.WriteLine(e.Message); if(client!= null) client.close(); //Main(); //class TcpEchoServerSocket //ns

컴퓨터네트워크

컴퓨터네트워크 프로그램설명 (TcpClient) 1 행 ~5 행.NET classes IOException Encoding IPAddress class Sockets 11 행 ~22 행 서버가클라이언트와같은컴퓨터에서실행되므로서버의주소는 Loopback(127.0.0.1) 으로지정 연결하려는서버의 port 번호 서버로송신할메시지 String 객체메시지는 Byte 배열로 Encoding

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

<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

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

3ÆÄÆ®-11

3ÆÄÆ®-11 Chapter 11 Chapter 12 Chapter 13 Chapter 14 Chapter 15 Chapter 16 Chapter 17 C # N e t w o r k P r o g r a m m i n g Part 3 _ chapter 11 ICMP >>> 430 Chapter 11 _ 1 431 Part 3 _ 432 Chapter 11 _ N o t

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

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

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

Microsoft PowerPoint - CSharp-15-채팅

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

More information

2009년 상반기 사업계획

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

More information

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

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

More information

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):

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

Network seminar.key

Network seminar.key Intro to Network .. 2 4 ( ) ( ). ?!? ~! This is ~ ( ) /,,,???? TCP/IP Application Layer Transfer Layer Internet Layer Data Link Layer Physical Layer OSI 7 TCP/IP Application Layer Transfer Layer 3 4 Network

More information

Microsoft PowerPoint - CSharp-10-예외처리

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

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

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

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

[ 네트워크 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장 Unix란 무엇인가?

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

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

JAVA PROGRAMMING 실습 08.다형성

JAVA PROGRAMMING 실습 08.다형성 2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달

More information

Subnet Address Internet Network G Network Network class B networ

Subnet Address Internet Network G Network Network class B networ Structure of TCP/IP Internet Internet gateway (router) Internet Address Class A Class B Class C 0 8 31 0 netid hostid 0 16 31 1 0 netid hostid 0 24 31 1 1 0 netid hostid Network Address : (A) 1 ~ 127,

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

게시판 스팸 실시간 차단 시스템

게시판 스팸 실시간 차단 시스템 오픈 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

슬라이드 1

슬라이드 1 UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)

More information

Network Programming

Network Programming Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI

More information

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS ( PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (http://ddns.hanwha-security.com) Step 1~5. Step, PC, DVR Step 1. Cable Step

More information

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C

USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl C USB USB DV25 DV25 REC SRN-475S REC SRN-475S LAN POWER LAN POWER Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC Step 1~5. Step, PC, DVR Step 1. Cable Step

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

JAVA PROGRAMMING 실습 09. 예외처리

JAVA PROGRAMMING 실습 09. 예외처리 2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 1 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

À©µµ³×Æ®¿÷ÇÁ·Î±×·¡¹Ö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

13-Java Network Programming

13-Java Network Programming JAVA Programming Language JAVA Network Programming IP Address(Internet Protocol Address) URL(Uniform Resource Location) TCP(Transmission Control Protocol) Socket UDP(User Datagram Protocol) Client / Server

More information

rmi_박준용_final.PDF

rmi_박준용_final.PDF (RMI) - JSTORM http://wwwjstormpekr (RMI)- Document title: Document file name: Revision number: Issued by: Document Information (RMI)- rmi finaldoc Issue Date: Status:

More information

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])

(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345]) 예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음

More information

PowerPoint 프레젠테이션

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

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx

Microsoft Word - Crackme 15 from Simples 문제 풀이_by JohnGang.docx CrackMe 15.exe (in Simples) 문제풀이 동명대학교정보보호동아리 THINK www.mainthink.net 강동현 Blog: johnghb.tistory.com e-mail: cari2052@gmail.com 1 목차 : 1. 문제설명및기본분석 --------------------------- P. 03 2 상세분석 ---------------------------

More information

Design Issues

Design Issues 11 COMPUTER PROGRAMMING INHERIATANCE CONTENTS OVERVIEW OF INHERITANCE INHERITANCE OF MEMBER VARIABLE RESERVED WORD SUPER METHOD INHERITANCE and OVERRIDING INHERITANCE and CONSTRUCTOR 2 Overview of Inheritance

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?

More information

1. 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 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 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

Microsoft PowerPoint - 06-IPAddress [호환 모드]

Microsoft PowerPoint - 06-IPAddress [호환 모드] Chapter 06 IP Address IP Address Internet address IP 계층에서사용되는식별자 32 bit 2 진주소 The address space of IPv4 is 2 32 or 4,294,967,296 netid 와 hostid 로구분 인터넷에서호스트와라우터를유일하게구분 IP Address Structure 2-Layer Hierarchical

More information

Microsoft PowerPoint PythonGUI-socket

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

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

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

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

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

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 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 information

Cluster management software

Cluster management software 자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException

More information

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가

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

Sena Device Server Serial/IP TM Version

Sena Device Server Serial/IP TM Version Sena Device Server Serial/IP TM Version 1.0.0 2005. 3. 7. Release Note Revision Date Name Description V1.0.0 2005-03-7 HJ Jeon Serial/IP 4.3.2 ( ) 210 137-130, : (02) 573-5422 : (02) 573-7710 email: support@sena.com

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

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

Switching

Switching Switching 강의의목표 Switching/Switching Network의필요성을이해한다. 세가지대표적교환기술에열거하고그차이를설명할수있다. 각교환기술의장, 단점을비교하여설명할수있다. Packet Switching 에서 Fairness 문제와 Pipelining 을 패킷크기와연계하여설명할수있다. Soft Switch 개념을이해하고설명할수있다. 교재 Chapter

More information

쉽게 풀어쓴 C 프로그래밊

쉽게 풀어쓴 C 프로그래밊 Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.

More information

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter

파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");

More information

Microsoft PowerPoint _TCP_IP

Microsoft PowerPoint _TCP_IP 네트워크 2007 년상반기 1 의개념 (ransmission Control Protocol / Internet Protocol) -는네트워크를상호연결시켜정보를전송할수있도록하는기능을가진다수의 프로토콜이모여있는프로토콜집합임. - 의가장대표적인프로토콜은 3 계층의 IP 와 4 계층의 CP 로대부분의응용서비스가 CP 상 에서이루어지나, 최근인터넷의단점을보완하기위해

More information

PowerPoint Presentation

PowerPoint Presentation public class SumTest { public static void main(string a1[]) { int a, b, sum; a = Integer.parseInt(a1[0]); b = Integer.parseInt(a1[1]); sum = a + b ; // 두수를더하는부분입니다 System.out.println(" 두수의합은 " + sum +

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D> Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.

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

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

JUNIT 실습및발표

JUNIT 실습및발표 JUNIT 실습및발표 JUNIT 접속 www.junit.org DownLoad JUnit JavaDoc API Document 를참조 JUNIT 4.8.1 다운로드 설치파일 (jar 파일 ) 을다운로드 CLASSPATH 를설정 환경변수에서설정 실행할클래스에서 import JUnit 설치하기 테스트실행주석 @Test Test 를실행할 method 앞에붙임 expected

More information

ALTIBASE 사용자가이드 Templete

ALTIBASE 사용자가이드 Templete Real Alternative DBMS ALTIBASE, Since 1999 WINDOWS ADO.NET 환경의 ALTIBASE 개발가이드 2010. 09 Copyright c 2000~2013 ALTBASE Corporation. All Rights Reserved. Document Control Change Record Date Author Change

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

PowerPoint Presentation

PowerPoint Presentation 객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television

More information

네트워크통신연결방법 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION

네트워크통신연결방법 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION 네트워크제품이통신을할때, 서로연결하는방법에대해설명합니다. FIRST EDITION 05-2012 개요 개요 네트워크상에연결되어있는기기들이통신을할때, 어떻게목적지를찾아가는지 (IP 주소, 서브넷마스크, 게이트웨이 ) 어떻게데이터를보내는지 (UDP/TCP, ) 에대한내용을설명합니다. 네트워크설정에따른특징을이해하여, 제품이설치된네트워크환경에따라알맞은설정을하도록합니다.

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

JMF2_심빈구.PDF

JMF2_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Document Information Document title: Document file name: Revision number: Issued by: JMF2_ doc Issue Date: Status: < > raica@nownurinet

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

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

학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2

학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2 Chapter 12 네트워크프로그래밍 New Java Programming with a Workbook 학습목표 네트워크개요 TCP PORT URL/InetAddress Socket/TCP 을이용한네트워크 2 Network 개요 네트워크 데이터전송프로토콜을가지고통신하는연결된장치들을총칭 네트워크망 3 TCP TCP (Transmission Control Protocol)

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

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

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

본 강의에 들어가기 전

본 강의에 들어가기 전 네트워크프로그래밍 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

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

슬라이드 1

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

More information

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 2012.11.23 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Document Distribution Copy Number Name(Role, Title) Date

More information

JAVA PROGRAMMING 실습 05. 객체의 활용

JAVA PROGRAMMING 실습 05. 객체의 활용 public class Person{ public String name; public int age; } public Person(){ } public Person(String s, int a){ name = s; age = a; } public String getname(){ return name; } @ 객체의선언 public static void main(string

More information

Microsoft Word - NAT_1_.doc

Microsoft Word - NAT_1_.doc NAT(Network Address Translation) 1. NAT 개요 1 패킷의 IP 헤더의수신지주소, 발신지주소또는그주소를다른주소로변경하는과정 2 NAT기능을갖는장치를 NAT-BOX라함 ( 시스코라우터, 유닉스시스템, 윈도우의호스트혹은몇개의다른시스템일수있기때문에이렇게지칭하기도함 ) 3 NAT 기능을갖는장치는일반적으로스텁도메인 (Stub-domain)

More information

JMF3_심빈구.PDF

JMF3_심빈구.PDF JMF JSTORM http://wwwjstormpekr Issued by: < > Revision: Document Information Document title: Document file name: Revision number: Issued by: JMF3_ doc Issue Date:

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

Windows 8에서 BioStar 1 설치하기

Windows 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 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

슬라이드 1 UNIT 6 배열 로봇 SW 교육원 3 기 학습목표 2 배열을사용핛수있다. 배열 3 배열 (Array) 이란? 같은타입 ( 자료형 ) 의여러변수를하나의묶음으로다루는것을배열이라고함 같은타입의많은양의데이터를다룰때효과적임 // 학생 30 명의점수를저장하기위해.. int student_score1; int student_score2; int student_score3;...

More information

02 C h a p t e r Java

02 C h a p t e r Java 02 C h a p t e r Java Bioinformatics in J a va,, 2 1,,,, C++, Python, (Java),,, (http://wwwbiojavaorg),, 13, 3D GUI,,, (Java programming language) (Sun Microsystems) 1995 1990 (green project) TV 22 CHAPTER

More information

UDP Flooding Attack 공격과 방어

UDP Flooding Attack 공격과 방어 황 교 국 (fullc0de@gmail.com) SK Infosec Co., Inc MSS Biz. Security Center Table of Contents 1. 소개...3 2. 공격 관련 Protocols Overview...3 2.1. UDP Protocol...3 2.2. ICMP Protocol...4 3. UDP Flood Test Environment...5

More information