컴퓨터네트워크

Size: px
Start display at page:

Download "컴퓨터네트워크"

Transcription

1 프로그램설명 (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 배열로전환되어야한다.

2 프로그램설명 (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 하면그것은연결이비정상적으로종료된것으로생각할수있다.

3 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

4 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; 종단점의포트번호를가지고있는정수를가져오거나지정.

5 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 해야함.

6 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 한다.

7 .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; 다음페이지에계속

8 앞페이지의코드뒤에붙여넣으세요 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

9 TcpSocketClient using System; using System.Text; using System.IO; using System.Net.Sockets; using System.Net; namespace pjkim.tcpsocketclient class TcpSocketClient static void Main() string server = IPAddress.Loopback.ToString(); int servport = 9999; string msg = "TCP 소켓을직접사용하는 Echo 테스트 "; byte[] bytebuffer = Encoding.Unicode.GetBytes(msg); Socket sock = null; try sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPEndPoint serverendpoint = new IPEndPoint(Dns.Resolve(server).AddressList[0], servport); sock.connect(serverendpoint); Console.WriteLine(" 서버에연결되었습니다. 메시지를보냅니다 "); sock.send(bytebuffer, 0, bytebuffer.length, SocketFlags.None); Console.WriteLine("0 바이트를전송했습니다.\n", bytebuffer.length); int totalbytesrcvd = 0; int bytesrcvd = 0; for (; totalbytesrcvd < bytebuffer.length; ) if ((bytesrcvd = sock.receive(bytebuffer, totalbytesrcvd, bytebuffer.length - totalbytesrcvd, SocketFlags.None)) == 0) Console.WriteLine(" 연결이예상치않게종료되었습니다."); break; totalbytesrcvd += bytesrcvd; //for Console.WriteLine(" 서버로부터총 0 바이트의메시지를받았습니다 : \n 메시지 : [1]\n", totalbytesrcvd, Encoding.Unicode.GetString(byteBuffer, 0, totalbytesrcvd)); catch(exception e) Console.WriteLine(e.Message); finally sock.close(); //class TcpSocketClient //ns

10 TcpSocketServer.cs 서버 Tcp Socket 생성 최대다섯개의연결요청을관리 로컬인터페이스에연결

11 데이터를받기위한버퍼선언 (100 바이트 ) 받은바이트수를저장하는정수변수 연결요청을받아들임 ( 연결된 Socket return) 데이터를받음 ( 받은바이트수 return) 전송한바이트수를누적 방금받은데이터를바로전송 Socket 을닫음. ( 연결끊기 )

12 TcpSocketClient.cs 서버와클라이언트가같은호스트에서실행되므로 Loopback 주소 ;1 을사용 Port 는 9999 를사용 전송할메시지를 Unicode 로엔코딩하여 Byte 배열에저장 서버의주로와 Port 번호로 EndPoint 를만든후 Connect 함수로연결요청 소켓생성 데이터전송 서버로부터데이터받음. 서버는클라이언트로부터받은데이터를바로전송 서버로부터받은바이트를 String 으로 Encoding 하여출력 Socket 을닫고연결을끊음.

13 UDP 소켓 UDP 소켓은 TCP 와는다른방법의전송서비스를제공한다. UDP 소켓은데이터를주고받는상대방과미리연결을설정하지않는다. TCP 소켓이전화에비교된다면, UDP 소켓은편지를주고받는것에비유할수있다. 전화는상대방과연결이되고내가누구와통화중이라는사실을알고있게된다. 반면에편지는누구에게서어떤편지가언제올것인지미리통보하지않은상태에서받게된다. 편지를받고답장을하려면편지봉투에적힌보낸사람의주소를사용하여보낸다. 전화는통화중인경우에는다른사람과의통화를동시에할수없지만편지는편지통에여러명으로부터의편지가도착할수있고각각에대한답장도개별적으로한다. UDP 의장점 : 높은효율성 : 연결등에부가되는작업이없기때문에작은양의데이터를보내는데는 TCP 보다효율적이다. 유연성 : 신뢰성이강조되는작업이아니라면 UDP 는그어떤용도로사용되더라도오버헤드를최소화할수있다. UDP 의단점 : 낮은신뢰성 : 데이터가응용프로그램에도착하지않고사라질수있다. 또한, 응용프로그램에도착한데이터의순서가바뀌어있을수있다. TCP 의경우에는 TCP 가이런경우에대한대처를하지만 UDP 를사용하는경우에는응용프로그램이자체적으로에러데대한처리를하여야한다.

14 UDP 소켓을사용하는클라이언트 프로젝트를만들고다음의코드를복사하여실행하라. ( 클라이언트, 서버프로젝트를모두완성한후테스트 ) UdpEchoClient.cs using System; using System.Text; using System.Net; using System.Net.Sockets; namespace cn.udpechoclient class UdpEchoClient static void Main() string server = IPAddress.Loopback.ToString(); int portno = 8888; byte[] bytebuffer = Encoding.Unicode.GetBytes(" 컴퓨터학과소켓프로그래밍 "); UdpClient client = new UdpClient(); try client.send(bytebuffer, bytebuffer.length, server, portno); Console.WriteLine("0 바이트를서버로보냄 ", bytebuffer.length); IPEndPoint remoteipendpoint = new IPEndPoint(IPAddress.Any, 0); byte[] rcvbuffer = client.receive(ref remoteipendpoint); Console.WriteLine("0 바이트를 1 로부터받았습니다. msg: [2]", rcvbuffer.length, remoteipendpoint, Encoding.Unicode.GetString(rcvBuffer, 0, rcvbuffer.length)); catch(socketexception e) Console.WriteLine(e.ErrorCode + ": " + e.message); client.close(); //Main() //class UdpEchoClient //ns

15 UDP 소켓을사용하는서버 UdpEchoServer.cs using System; using System.Net; using System.Net.Sockets; namespace cn.udpechoserve class UdpEchoServe static void Main() UdpClient client = null; try client = new UdpClient(8888); catch (SocketException e) Console.WriteLine(e.ErrorCode + ": " + e.message); Environment.Exit(e.ErrorCode); IPEndPoint remoteipendpoint = new IPEndPoint(IPAddress.Any, 0); for(;;) try byte[] bytebuffer = client.receive(ref remoteipendpoint); Console.Write(" 클라이언트 0 를처리하고있습니다...", remoteipendpoint); client.send(bytebuffer, bytebuffer.length, remoteipendpoint); Console.WriteLine("0 바이트를전송했습니다.", bytebuffer.length); catch(socketexception e) Console.WriteLine(e.ErrorCode + ": " + e.message); //for(;;) //Main() //CLASS UdpEchoServe //ns

16 UdpEchoClient.cs 설명 메시지를보낼서버의주소지정 메시지를보낼서버의포트번호 전송할메시지 (bytes) UDP 소켓생성 연결없이바로서버로메시지전송 상대방의주소를받을객체생성 소켓닫기 상대방의메시지를기다렸다가받음. 메시지는함수가 return, 상대방의주소는 IPEndPoint 객체파라메터로받음

17 UdpEchoServer.cs 설명 클라이언트와메시지를주소받을 UdpClient 객체선언 Udp 서버는클라이언트를받아들이고연결을수락하는등의일을하지않고마치클라이언트처럼 UdpClient 소켓하나로상대방으로부터의메시지를기다린다. 따라서포트번호를지정하는것이외에는클라이언트와구조가크게다르지않다. 도착한메시지의상대방주소를얻기위한객체선언 도착한메시지와상대방주소를얻음 받은메시지를상대방주소로전송 ( 에코 )

18 클라이언트와서버의응용프로그램레벨에서주소받는데이터는서로같은의미로해석되어야한다. 따라서응용프로그램간에는주고받는데이터의포맷을공유하여야한다. C# 에서는전송하는데이터도대부분 class 의객체내부에존재한다. 실제객체의데이터는다른장소에있고객체의참조는주소만가지고있기때문에객체내부에있는데이터가메모리상에연속적으로있다는보장도없다. 따라서, 전송자가객체를직접전송하고수신자가같은타입의객체를받는다해도받은것은상대방컴퓨터내부의주소일뿐수신자내부에서는아무의미가없다. 따라서, C# 에서는클라이언트와서버간에모든데이터전송은 8bit(byte) 덩어리의연속으로바꾸어서전송하여야한다. 따라서, C# 에서는송수신자간에데이터를주고받기위해서는객체의데이터를 byte 배열로바꾸는 Encoding 기능과 byte 배열을다시같은타입의동일한 class 의객체로바꾸어주는 Decoding 기능을구현하여서송수신자간에공유하여야한다. Encoding 과 Decoding 의기능을구현하는데는두가지방법이있다. 첫번째는 Encoding 에의하여객체의데이터를 Byte 배열로만들때배열내에서데이터와데이터사이를구별할수있는구분자를삽입하는방법이다. 이방법에서구분자는데이터상에서나타날수없는값을사용하여야한다 ( 예 : \n );. Decoding 기능은 byte 배열에섞여있는구분자를사용하여데이터를추출하고이추출된개별적인데이터를사용하여본래의객체를다시생성하여야한다. 또다른하나의방법으로는데이터를보내기전에미리전송될데이터의길이를알려주는방법이있다. 이방법을사용하는데있어서미리고정된길이의데이터인경우에는송수신자간에이미데이터의길이가고정되어있기때문에특별히데이터의길이를보내줄필요가없다. 그러나문자열과같이가변길이의데이터의앞에는먼저길이를나타내는고정길이형의데이터 ( 정수형 ) 를붙여서뒤에있는 데이터의바이트수를알려주어야한다. Encoder 나 Decoder 가같은규칙을사용함으로써서로의미있는데이터 ( 객체 ) 를주고받을수있게된다. 다음의코드는이를설명하기위한몇몇파일의코드이다.

19 견적서.cs using System; using System.IO; using System.Text; using System.Net; //-- 견적서 class public class 견적서 public long itemnumber; public string itemdescription; public int quantity; public int unitprice; public bool discounted; public bool instock; public 견적서 (long itemnumber, string itemdescription, int quantity, int unitprice, bool discounted, bool instock) this.itemnumber = itemnumber; this.itemdescription = itemdescription; this.quantity = quantity; this.unitprice = unitprice; this.discounted = discounted; this.instock = instock; public override string ToString() //return base.tostring(); string str = " 상품코드 = " + itemnumber + "\n" + " 상품명 = " + itemdescription + "\n" + " 수량 = " + quantity + "\n" + " 단가 = " + unitprice; if (discounted) str += " ( 할인가 )"; if (instock) str += "\n 재고있음 "; else str += "\n 재고없음 "; return str; //class 견적서 계속

20 // public class 견적서 TextConst public static readonly string DEFAULT_CHAR_ENC = "ascii"; public static readonly int MAX_WIRE_LENGTH = 1024; //class MessageConst // public interface 견적서 Encoder byte[] encode( 견적서 item); //interface MessageEncoder // public interface 견적서 Decoder 견적서 decode(stream source); 견적서 decode(byte[] packet); //interface MessageDecoder // class 견적서 EncoderText : 견적서 Encoder public Encoding encoding; public 견적서 EncoderText() : this( 견적서 TextConst.DEFAULT_CHAR_ENC) public 견적서 EncoderText(string encodingdesc) encoding = Encoding.GetEncoding(encodingDesc); public byte[] encode( 견적서 item) string encodedstring = ""; encodedstring += item.itemnumber + " "; if(item.itemdescription.indexof('\n')!= -1) throw new IOException(" 문자열에이미 nextline 문자가있습니다."); encodedstring += item.itemdescription + "\n"; encodedstring += item.quantity + " "; encodedstring += item.unitprice + " "; if (item.discounted) encodedstring += "d"; if (item.instock) encodedstring += "s"; encodedstring += "\n"; if (encodedstring.length > 견적서 TextConst.MAX_WIRE_LENGTH) throw new IOException("Encoding 된메시지길이가최대값을초과했습니다."); byte[] buf = encoding.getbytes(encodedstring); return buf; //encode( 견적서 item) //class 견적서 EncoderText 계속

21 // public class 견적서 DecoderText : 견적서 Decoder public Encoding encoding; public 견적서 DecoderText() : this( 견적서 TextConst.DEFAULT_CHAR_ENC) public 견적서 DecoderText(string encodingdesc) encoding = Encoding.GetEncoding(encodingDesc); // public 견적서 decode(stream wire) string itemno, description, quant, price, flags; byte[] space = encoding.getbytes(" "); byte[] newline = encoding.getbytes("\n"); itemno = encoding.getstring(framer.nexttoken(wire, space)); description = encoding.getstring(framer.nexttoken(wire, newline)); quant = encoding.getstring(framer.nexttoken(wire, space)); price = encoding.getstring(framer.nexttoken(wire, space)); flags = encoding.getstring(framer.nexttoken(wire, newline)); return new 견적서 (Int64.Parse(itemNo), description, Int32.Parse(quant), Int32.Parse(price), (flags.indexof('d')!= -1), (flags.indexof('s')!= -1)); //----- public 견적서 decode(byte[] packet) Stream memstream = new MemoryStream(packet, 0, packet.length, false); return decode(memstream); //class 견적서DecoderText // 계속

22 public class 견적서 BinConst public static readonly string DEFAULT_CHAR_ENC = "ascii"; public static readonly byte DISCOUNT_FLAG = 1 << 7; public static readonly byte IN_STOCK_FLAG = 1 << 0; public static readonly int MAX_DESC_LEN = 255; public static readonly int MAX_WIRE_LENGTH = 1024; // public class 견적서 EncoderBin : 견적서 Encoder public Encoding encoding; public 견적서 EncoderBin() : this( 견적서 BinConst.DEFAULT_CHAR_ENC) public 견적서 EncoderBin(string encodingdesc) encoding = Encoding.GetEncoding(encodingDesc); public byte[] encode( 견적서 item) MemoryStream mem = new MemoryStream(); BinaryWriter output = new BinaryWriter(new BufferedStream(mem)); output.write(ipaddress.hosttonetworkorder(item.itemnumber)); output.write(ipaddress.hosttonetworkorder(item.quantity)); output.write(ipaddress.hosttonetworkorder(item.unitprice)); byte flags = 0; if (item.discounted) flags = 견적서 BinConst.DISCOUNT_FLAG; if (item.instock) flags = 견적서 BinConst.IN_STOCK_FLAG; output.write(flags); byte[] encodeddesc = encoding.getbytes(item.itemdescription); if(encodeddesc.length > 견적서 BinConst.MAX_DESC_LEN) throw new IOException(" 견적서의상품명이 encoding 최대길이를초과합니다."); output.write((byte)encodeddesc.length); output.write(encodeddesc); output.flush(); return mem.toarray(); //class 견적서EncoderBin 계속

23 // public class 견적서 DecoderBin : 견적서 Decoder public Encoding encoding; // 생성자 public 견적서 DecoderBin() : this( 견적서 BinConst.DEFAULT_CHAR_ENC) public 견적서 DecoderBin(string encodingdesc) encoding = Encoding.GetEncoding(encodingDesc); // public 견적서 decode(stream wire) BinaryReader src = new BinaryReader(new BufferedStream(wire)); long itemnumber = IPAddress.NetworkToHostOrder(src.ReadInt64()); int quantity = IPAddress.NetworkToHostOrder(src.ReadInt32()); int unitprice = IPAddress.NetworkToHostOrder(src.ReadInt32()); byte flags = src.readbyte(); int stringlength = src.read(); if(stringlength == -1) throw new EndOfStreamException(); byte[] stringbuf = new byte[stringlength]; src.read(stringbuf, 0, stringlength); string itemdesc = encoding.getstring(stringbuf); return new 견적서 (itemnumber, itemdesc, quantity, unitprice, ((flags & 견적서 BinConst.DISCOUNT_FLAG)!= 0), ((flags & 견적서 BinConst.IN_STOCK_FLAG)!= 0)); //decode() // public 견적서 decode(byte[] packet) Stream memstream = new MemoryStream(packet, 0, packet.length, false); return decode(memstream); //class 견적서DecoderBin 견적서.cs 끝

24 Framer.cs using System; using System.IO; // public class Framer public static byte[] nexttoken(stream input, byte[] delimiter) int nextbyte; if((nextbyte = input.readbyte()) == -1) return null; MemoryStream tokenbuffer = new MemoryStream(); do tokenbuffer.writebyte((byte)nextbyte); byte[] currenttoken = tokenbuffer.toarray(); if(endswith(currenttoken, delimiter)) int tokenlength = currenttoken.length - delimiter.length; byte[] token = new byte[tokenlength]; Array.Copy(currentToken, 0, token, 0, tokenlength); return token; //if while ((nextbyte = input.readbyte())!= -1); return tokenbuffer.toarray(); //static nexttoken // private static bool endswith(byte[] value, byte[] delimiter) if(value.length < delimiter.length) return false; for(int i=1; i<=delimiter.length; i++) if(value[value.length - i]!= delimiter[delimiter.length - i]) return false; //for return true; //static bool endswith //class Framer Framer.cs 끝 위에서제공한두개의파일의코드를사용하여클라이언트과서버가견적서객체를주고받아서처리하는 TCP 소켓프로그램을작성하여보라.

컴퓨터네트워크

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

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

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

<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

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 - CSharp-15-채팅

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

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

2009년 상반기 사업계획

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

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

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

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

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 - CSharp-10-예외처리

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

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

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

<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

제1장 Unix란 무엇인가?

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

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

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

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

<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

JAVA PROGRAMMING 실습 08.다형성

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

More information

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx 2018 학년도 1 학기 JAVA 프로그래밍 II 514760-1 2018 년봄학기 5/10/2018 박경신 Lab#1 (ImageTest) Lab#1 은영상파일 (Image) 을읽어서정보를출력 Java Tutorials Lesson: Working with Images https://docs.oracle.com/javase/tutorial/2d/images/index.html

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

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>

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

More information

PowerPoint Presentation

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

More information

쉽게 풀어쓴 C 프로그래밍

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

More information

PowerPoint 프레젠테이션

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

More information

슬라이드 1

슬라이드 1 정적메모리할당 (Static memory allocation) 일반적으로프로그램의실행에필요한메모리 ( 변수, 배열, 객체등 ) 는컴파일과정에서결정되고, 실행파일이메모리에로드될때할당되며, 종료후에반환됨 동적메모리할당 (Dynamic memory allocation) 프로그램의실행중에필요한메모리를할당받아사용하고, 사용이끝나면반환함 - 메모리를프로그램이직접관리해야함

More information

12-file.key

12-file.key 11 (String).. java.lang.stringbuffer. s String s = "abcd"; s = s + "e"; a b c d e a b c d e ,., "910359,, " "910359" " " " " (token) (token),, (delimiter). java.util.stringtokenizer String s = "910359,,

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

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

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

More information

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode]

Microsoft PowerPoint - Lecture_Note_7.ppt [Compatibility Mode] Unix Process Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 유닉스기반다중서버구현방법 클라이언트들이동시에접속할수있는서버 서비스를동시에처리할수있는서버프로세스생성을통한멀티태스킹 (Multitasking) 서버의구현 select 함수에의한멀티플렉싱 (Multiplexing)

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

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

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

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

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 PowerPoint - C++ 5 .pptx

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

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

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

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

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345]) 클래스의응용 클래스를자유자재로사용하자. 이장에서다룰내용 1 객체의치환 2 함수와클래스의상관관계 01_ 객체의치환 객체도변수와마찬가지로치환이가능하다. 기본예제 [7-1] 객체도일반변수와마찬가지로대입이가능하다. 기본예제 [7-2] 객체의치환시에는조심해야할점이있다. 복사생성자의필요성에대하여알아보자. [ 기본예제 7-1] 클래스의치환 01 #include

More information

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

More information

<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

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

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

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

PowerPoint 프레젠테이션

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

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

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

어댑터뷰

어댑터뷰 04 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adapter View) 커스텀어댑터뷰 (Custom Adatper View) 란? u 어댑터뷰의항목하나는단순한문자열이나이미지뿐만아니라, 임의의뷰가될수 있음 이미지뷰 u 커스텀어댑터뷰설정절차 1 2 항목을위한 XML 레이아웃정의 어댑터정의 3 어댑터를생성하고어댑터뷰객체에연결

More information

PowerPoint Presentation

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

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

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

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

vi 사용법

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

More information

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

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

Microsoft PowerPoint PythonGUI-socket

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

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

초보자를 위한 C# 21일 완성

초보자를 위한 C# 21일 완성 C# 21., 21 C#., 2 ~ 3 21. 2 ~ 3 21.,. 1~ 2 (, ), C#.,,.,., 21..,.,,, 3. A..,,.,.. Q&A.. 24 C#,.NET.,.,.,. Visual C# Visual Studio.NET,..,. CD., www. TeachYour sel f CSharp. com., ( )., C#.. C# 1, 1. WEEK

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

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

Microsoft PowerPoint - 2강 컴퓨터과학과 김희천교수 학습개요 Java 언어문법의기본사항, 자료형, 변수와상수선언및사용법, 각종연산자사용법, if/switch 등과같은제어문사용법등에대해설명한다. 또한 C++ 언어와선언 / 사용방법이다른 Java의배열선언및사용법에대해서설명한다. Java 언어의효과적인활용을위해서는기본문법을이해하는것이중요하다. 객체지향의기본개념에대해알아보고 Java에서어떻게객체지향적요소를적용하고있는지살펴본다.

More information

JAVA PROGRAMMING 실습 09. 예외처리

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

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

(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

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a 6 장복사생성자 객체의생성과대입객체의값에의한전달복사생성자디폴트복사생성자복사생성자의재정의객체의값에의한반환임시객체 C++ 프로그래밍입문 1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y;

More information

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 xmlns:tools="http://schemas.android.

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android 2 xmlns:tools=http://schemas.android. 10 차시파일처리 1 학습목표 내장메모리의파일을처리하는방법을배운다. SD 카드의파일을처리하는방법을배운다. 2 확인해볼까? 3 내장메모리파일처리 1) 학습하기 [ 그림 10-1] 내장메모리를사용한파일처리 2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1

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

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

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

쉽게 풀어쓴 C 프로그래밍

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

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

슬라이드 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

Secure Programming Lecture1 : Introduction

Secure Programming Lecture1 : Introduction Malware and Vulnerability Analysis Lecture4-1 Vulnerability Analysis #4-1 Agenda 웹취약점점검 웹사이트취약점점검 HTTP and Web Vulnerability HTTP Protocol 웹브라우저와웹서버사이에하이퍼텍스트 (Hyper Text) 문서송수신하는데사용하는프로토콜 Default Port

More information

Microsoft PowerPoint - Chap12-OOP.ppt

Microsoft PowerPoint - Chap12-OOP.ppt 객체지향프로그래밍 (Object Oriented Programming) 12 장강사 강대기 차례 (Agenda) 멤버에대한동적메모리할당 암시적 / 명시적복사생성자 암시적 / 명시적오버로딩대입연산자 생성자에 new 사용하기 static 클래스멤버 객체에위치지정 new 사용하기 객체를지시하는포인터 StringBad 클래스 멤버에포인터사용 str static 멤버

More information

쉽게 풀어쓴 C 프로그래밊

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

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

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

슬라이드 1

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

More information

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍 Power Java 제 11 장상속 이번장에서학습할내용 상속이란? 상속의사용 메소드재정의 접근지정자 상속과생성자 Object 클래스 종단클래스 상속을코드를재사용하기위한중요한기법입니다. 상속이란? 상속의개념은현실세계에도존재한다. 상속의장점 상속의장점 상속을통하여기존클래스의필드와메소드를재사용 기존클래스의일부변경도가능 상속을이용하게되면복잡한 GUI 프로그램을순식간에작성

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

슬라이드 1

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

More information

Microsoft PowerPoint - [EEL2] Lab10.pptx

Microsoft PowerPoint - [EEL2] Lab10.pptx Lab10 (Week 13) 네트워크프로그래밍 전자공학실험 2 Week13: 실습과제 (Lab10) Lab10 #1~#4 실습일실습시간종료시까지이메일로제출 이메일제목 : [EEL2] Lab10-Part1 Lab10 #5~#7 다음주실습시간시작시하드카피 ( 리포트 ) 로제출 리포트제목 : [EEL2] Lab10-Part2 최소 1 시간은실습실에서실습을진행해야합니다.

More information

Microsoft PowerPoint - Chapter 6.ppt

Microsoft PowerPoint - Chapter 6.ppt 6.Static 멤버와 const 멤버 클래스와 const 클래스와 static 연결리스트프로그램예 Jong Hyuk Park 클래스와 const Jong Hyuk Park C 의 const (1) const double PI=3.14; PI=3.1415; // 컴파일오류 const int val; val=20; // 컴파일오류 3 C 의 const (1)

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

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어서가장중요한부분이라고도할수있기때문입니다. 1. 새로운메크로생성 새메크로만들기버튺을클릭하여파일을생성합니다. 2. 메크로저장 -

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

<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

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

C프로-3장c03逞풚

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

More information

Microsoft PowerPoint - RMI.ppt

Microsoft PowerPoint - RMI.ppt ( 분산통신실습 ) RMI RMI 익히기 1. 분산환경에서동작하는 message-passing을이용한 boundedbuffer 해법프로그램을실행해보세요. 소스코드 : ftp://211.119.245.153 -> os -> OSJavaSources -> ch15 -> rmi http://marvel el.incheon.ac.kr의 Information Unix

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