제1장 자바 언어 소개
|
|
- 영희 순
- 6 years ago
- Views:
Transcription
1 Java Network
2 10.1 TCP/IP 이해 TCP/IP 프로토콜계층도 Applications Transport Internetwork IP Applications TCP/UDP ICMP ARP/RARP Network Interface and Hardware Network Interface and Hardware
3 10.1 TCP/IP 이해 TCP/IP 프로토콜 Application: Application 계층은다른컴퓨터와네트워크로연결되어서작업을할수있는사용자프로세스 TELNET, FTP, SMTP 등 Transport: end-to-end 데이터전송을지원하는계층 TCP (connection-oriented) 와 UDP(connectionless) Internetwork: Internet Layer 혹은 Network Layer 라고불림 Internet Protocol (IP), ICMP, ARP 등의프로토콜들로구성 Network Interface: 링크레이어혹은데이터링크레이어라고불리우며실제적으로는 TCP/IP 에포함되지않음 다양한프로토콜들이사용될수있음 대표적인예 : IEEE 802.2, X.25, ATM, FDDI, Packet Radio Networks ( 예 : AlohaNet), SNA 등
4 10.1 TCP/IP 이해 TCP/IP 프로토콜계층에따른데이터단위의이름 이더넷프레임 (ethernet frame) : 이더넷계층에서전송되는데이터단위 IP 패킷 (IP packet) 혹은 IP 데이터그램 (IP datagram) : 이더넷드라이버와 IP 모듈사이에서의데이터단위 UDP 데이터그램 (datagram) : IP 모듈과 UDP 모듈사이의데이터단위 TCP 세그먼트 (segment) 혹은트랜스포트메시지 (transport message) : IP 모듈과 TCP 모듈사이의데이터단위
5 10.1 TCP/IP 이해 캡슐화 / 역캡슐화 HTTP 요청 GET /index.html HTTP/1.0 캡슐화 TCP 세그먼트 TCP 헤더 GET /index.html HTTP/1.0 IP 패킷 IP 헤더 TCP 헤더 GET /index.html HTTP/1.0 이더넷프레임 이더넷헤더 IP 헤더 TCP 헤더 GET /index.html HTTP/1.0 역캡슐화 네트워크라인
6 10.1 TCP/IP 이해 컴퓨터가네트워크에연결되어있는경우의 TCP/IP 컴퓨터가네트워크에연결되기위해서네트워크카드가사용된다. 모든네트워크카드는이더넷주소 (MAC 어드레스, 물리적어드레스 ) 라는유일한 6 바이트크기의주소를가지고있다. 이더넷주소 (ethernet address) 는유닉스나리눅스의경우에슈퍼유저에서 "ifconfig -a" 명령어를이용해서확인할수있고윈도우즈 2000 의경우에는 ipconfig /all" 명령어로확인할수있다 TCP UDP IP ARP Ethernet Ethernet Network Card
7 10.1 TCP/IP 이해 IP 패킷처리 이더넷프레임이네트워크를통해서이더넷드라이버에도달 -> 이더넷프레임의 type 필드값에따라 ARP 모듈이나 IP 모듈에전달 -> IP 모듈로전달되는경우에 IP 패킷의 protocol 필드값에따라 TCP 모듈이나 UDP 모듈로데이터가전달된다. IP 패킷헤더정보포맷 데이터를보낸컴퓨터의 IP 주소와받는컴퓨터의 IP 주소도기록 bit # VERS IHL Type of Service Total Length Identification Flags Fragment Offset TTL Protocal Header checksum Source IP address Destination IP address
8 10.1 TCP/IP 이해 TCP 모듈의데이터처리 TCP 모듈은 TCP 헤더의 port 필드를검사해서어떤응용프로그램으로데이터를전달할것인지결정한다. TCP 헤더포맷 데이터를보낸프로그램의포트번호 (source port) 와받는프로그램의포트번호 (destination port) 를기록 Source Port Destination Port Sequence Number Acknowledgment Number Data Offset Reserved U R G A C K P S H R S T S Y N F I N Window Checksum Urgent Pointer Options.... padding
9 10.1 TCP/IP 이해 한컴퓨터에서다른컴퓨터로데이터전달과정 1. 네트워크구성도 네트워크 네트워크
10 10.1 TCP/IP 이해 2. 동일네트워크컴퓨터간의통신 IP 주소가 인컴퓨터에서 컴퓨터로데이터를보내는경우 각컴퓨터는내부적으로캡슐화와역캡슐화과정을거침 몇가지알아두어야할것들첫째로이더넷을사용하는경우에데이터는네트워크내에서브로드캐스트 (broadcast) 된다. 각컴퓨터는모든데이터들을받지만, 자신에게온데이터만처리하고, 나머지는버린다. 둘째로각컴퓨터는이더넷주소를보고자신에게온데이터인지판단한다. 즉, IP 주소가아니고네트워크카드의주소를보고판단한다 이 로데이터를보내기위해서는 의네트워크카드의이더넷주소를알아야한다. 이때 ARP(Address Resolution Protocol) 를사용한다.
11 10.1 TCP/IP 이해 은 ARP 패킷을브로드캐스트하여 의이더넷주소를알아내고이주소를테이블에저장하여데이터를전달한다. 직접통신함. 3. 다른네트워크컴퓨터간의통신 컴퓨터와 컴퓨터간통신 데이터를직접전달할수없음. 네트워크와네트워크를연결하는라우터 (router) 존재 라우터는 2 개이상의네트워크카드를가지는컴퓨터 보통은라우팅만전담하는전용라우터를사용
12 10.1 TCP/IP 이해 라우터는 네트워크에서오는데이터를 네트워크로데이터를전달하는역할을한다.( 포워딩 (forwarding) 작업 ) 은 에라우터의이더넷주소를이용해서라우터에데이터를전달. 라우터는받은데이터를역캡슐화해서 IP 헤더에있는 "destination ip address" 필드를체크한다. 만약라우터자신의 IP 주소가아닌경우데이터를해당되는네트워크에전달. 만약라우터가 컴퓨터의이더넷주소를안다면직접데이터를전달하겠지만모른다면라우터는 ARP 패킷을이용해서 컴퓨터의이더넷주소를알아볼것이다.
13 10.1 TCP/IP 이해 4. 라우터역할을하는컴퓨터 TCP UDP IP ARP ARP Ethernet Ethernet Network Card 네트워크 Ethernet Ethernet Network Card 네트워크
14 10.2 소켓 소켓소개 IP 어드레스와포트, 소켓의관계 호스트컴퓨터 호스트컴퓨터 응용프로그램 포트포트 네트워크 소켓포트 InputStream 응용프로그램 OutputStream InputStream 응용프로그램 포트소켓 IP 어드레스 IP어드레스포트 응용프로그램 OutputStream 포트
15 10.2 소켓 자바에서 TCP 프로그램 TCP 서버 ServerSocket() TCP 클라이언트 Socket() 연결됨 accept() 클라이언트로부터연결될때까지블락됨 I/O 스트림생성 write() read() 데이터 ( 요청 ) 데이터 ( 응답 ) I/O 스트림생성 read() 클라이언트요청처리 write() close close
16 10.2 소켓 자바에서네트워크프로그램 ( 서버 ) java.net 패키지 서버소켓 (ServerSocket) 이라는클래스를서버측에서사용 생성자 ServerSocket(int port) ServerSocket(int port, int backlog) ServerSocket(int port, int backlog, InetAddress bindaddr) 생성자의 port 부분은서버소켓이사용할포트번호를표시포트번호는 2 바이트로표현, 사이의값을가짐 번까지는보통시스템에서사용할목적으로예약, 용자는 1024번이후를사용하는것이바람직 사
17 10.2 소켓 backlog 매개변수 동시에컨넥션요청이오는경우에, 큐에클라이언트의요청을몇개까지기록할것인가를기술 backlog 는큐의최대길이 backlog 보다많은클라이언트가컨넥션을기다리고있으면나머지클라이언트들은컨넥션되지않는다. bindaddr: 여러개의주소를가지고있는경우특정주소만사용할경우지정 프로그래머는서버소켓을만들어서 accept() 메소드를호출 accept() 메소드는클라이언트로부터컨넥션이요청될때까지서버를블락, 클라이언트로부터요청이들어오면클라이언트와통신할수있는 Socket 클래스를리턴.
18 10.2 소켓 자바에서네트워크프로그램 ( 클라이언트 ) 소켓 (Socket) 이라는클래스를이용한다. 생성자 Socket(String host, int port) Socket(InetAddress address, int port) host 매개변수는컴퓨터의이름을기술하는문자열이고, port 는포트번호를의미 address 매개변수는 IP 어드레스를나타낸다. 자바에서는 IP 어드레스를위해 InterAddress 클래스를만들었다. Socket 클래스를만든후에는클라이언트와서버사이에데이터를주고받을수있는 I/O 스트림을만들어야한다.
19 10.2 소켓 소켓으로부터데이터를받아들이기위해서는 InputStream 이필요하고, 데이터를전송하기위해서는 OutputStream 이필요 소켓에서 InputStream 을얻기위해서는 getinputstream() 메소드를, OutputStream 을얻기위해서는 getoutputstream() 메소드를이용
20 10.2 소켓 채팅프로그램 ChatApplet ChatServer ChatHandler ChatApplet ChatHandler ChatHandler. ChatApplet.
21 10.2 소켓 예제 : ChatServer.java 1 import java.net.*; 2 import java.util.*; 3 4 public class ChatServer {. 8 public ChatServer (int port) { 9 try { 10 ServerSocket server = new ServerSocket (port); 11 handlers = new Vector(); 12 System.out.println("ChatServer is ready."); 13 while (true) { 14 Socket client = server.accept (); 15 if(debug) 16 System.out.println ("From: "+ 17 client.getinetaddress()); 18 ChatHandler c = new ChatHandler(this, client); 19 handlers.addelement(c); 20 c.start();..
22 10.2 소켓 예제 : ChatHandler.java.. 5 public class ChatHandler extends Thread { 6 private boolean debug = false; 7 protected Socket s; 8 protected BufferedReader i; 9 protected PrintWriter o; 10 protected ChatServer server; 11 protected boolean stop; public ChatHandler(ChatServer server, Socket s) 14 throws IOException { this.s = s; 17 this.server = server; 18 InputStream ins = s.getinputstream(); 19 OutputStream os = s.getoutputstream(); 20 i = new BufferedReader(new InputStreamReader(ins)); 21 o = new PrintWriter(new OutputStreamWriter(os));
23 10.2 소켓 31 public void run () { 32 String name = ""; 33 try { 34 name = i.readline(); 35 broadcast (name + " 님이방문하셨습니다."); 36 while (!stop) { 37 String msg = i.readline(); 38 if(msg.equals("!#%&")) { 39 setstop(); 40 }else { 41 broadcast (name + " - " + msg); 42 } 43 } 44 }catch (IOException ex) { 45 if(debug) 46 ex.printstacktrace(); 47 }finally { 48 server.handlers.removeelement(this); 49 broadcast (name + " 님이나가셨습니다.");
24 10.2 소켓 61 protected void broadcast (String message) { 62 synchronized (server.handlers) { 63 int n = server.handlers.size(); 64 for(int i=0; i < n; i++) { 65 ChatHandler c = (ChatHandler) 66 server.handlers.elementat(i); 67 try { 68 synchronized (c.o) { 69 c.o.println(message); 70 } 71 c.o.flush (); 72 }catch (Exception ex) { 73 c.setstop(); 74 }
25 10.2 소켓 예제 : ChatApplet.java 7 public class ChatApplet extends Applet implements Runnable, ActionListener { 18 public void init () { 19 card = new CardLayout(); 20 setlayout (card); 21 Panel login = new Panel(new BorderLayout()); 31 Panel chat = new Panel(new BorderLayout()); 32 chat.add ("Center", output = new TextArea ()); 33 output.seteditable (false); 34 chat.add ("South", input = new TextField ()); 35 input.addactionlistener(this); add(login, "login"); 38 add(chat, "chat"); 39 card.show(this, "login"); 40 }
26 10.2 소켓 42 public void start () { 43 stop=fasle; 44 listener = new Thread (this); 45 listener.start (); 46 } public void stop () { public void run () { 70 try { 71 String host = getcodebase().gethost (); 72 String port = getparameter ("port"); 73 if (port == null) 74 port = "9830"; 75 Socket s = new Socket (host, Integer.parseInt (port)); 76 InputStream ins = s.getinputstream(); 77 OutputStream os = s.getoutputstream(); 78 i = new BufferedReader(new InputStreamReader(ins)); 79 o = new PrintWriter(new OutputStreamWriter(os)); 80 execute (); 81 }catch (IOException ex) { 82 if(debug) 83 ex.printstacktrace (System.out);.
27 10.2 소켓 87 public void execute () { 88 try { 89 while (!stop) { 90 String line = i.readline(); 91 output.append (line + ""); 92 } 93 }catch (IOException ex) { 94 if(debug) 95 ex.printstacktrace (System.out); 96 }finally { 97 listener = null; 98 o.close(); 99 } 100 }
28 10.2 소켓 102 public void actionperformed (ActionEvent e) { 103 Component c = (Component) e.getsource(); 104 if(c == logtext) { 105 String loginname = logtext.gettext(); 106 loginname = loginname.trim(); 107 if(loginname == null loginname.length() == 0){ 108 return; 109 } 110 o.println(loginname); 111 o.flush(); 112 card.show(this, "chat"); 113 input.requestfocus(); 114 }else if(c == input) { 115 o.println(input.gettext()); 116 o.flush (); 117 input.settext (""); 118 } 119 } 120 }
29 10.2 소켓 화이트보드작성 채팅프로그램을조금변경 인터넷상에서공동으로그림을그릴수있는화이트보드프로그램 채팅프로그램에서는사용자가키입력을하고엔터키를치는경우에메시지가서버에전달 화이트보드에서는마우스를클릭하거나드래그하는경우에마우스의위치정보를서버측에전달
30 10.2 소켓 멀티룸채팅프로그램 MChatServer 클래스 : 채팅서버를위한클래스, 채팅방을관리하기위해 MRoomManager 를사용 MChatRoom : 채팅방을표현하기위한클래스, 채팅방은이름을가지고있으며, 채팅방에소속된클라이언트를저장하기위한벡터멤버필드를가지고있다. MRoomManager : 관리자는새로운채팅방을만들고, 현재등록된채팅방들의이름을알아보는역할을한다. 모든사용자는처음에 "$#!@ 라운지 " 라는방에소속되다. 클라이언트가채팅방을선택하면 "$#!@ 라운지 " 방에서클라이언트를삭제하고, 새로운채팅방에클라이언트와매칭되는 MChatHandler 를추가한다. 나중에클라이언트가채팅방에서나가는경우채팅방에서 MChatHandler 를삭제하고, 다시 "$#!@ 라운지 " 방에클라이언트의 MChatHandler 를추가한다.
31 10.2 소켓 MChatHandler : 클라이언트에매치되어서, 클라이언트와통신한다. MChatHandler 는채팅프로그램의 ChatHandler 와유사하면서, 약간복잡한기능들을가지고있으며 MChatHandler 는몇가지특수한채팅메시지를가지고있다. MChatApplet : 클라이언트를위한애플릿클래스
32 10.3 간단한소켓프로그래밍 ping 프로그래밍 네트워크로연결된다른컴퓨터가현재작동중인지알아보는프로그램 ping 프로그램은 ICMP 프로토콜을사용하고있기때문에 자바를이용해서프로그래밍하기는어렵다. ping 과유사한기능을할수있는프로그램을유닉스의 echo 프로토콜을이용해서작성 echo 프로토콜은 7 번포트를사용하면서전달받은메시지를그대로전송자에게재전송해주는특징이있다. echo 프로토콜의특성을이용하여, 소켓을만들어서버에메시지를보내고, 서버로부터오는메시지를읽어서보낸메시지와동일한가를비교 만약동일하다면서버컴퓨터가작동중이다.
33 10.3 간단한소켓프로그래밍 결과 C: \> java Ping Alive :-)
34 10.3 간단한소켓프로그래밍예제 : Ping.java 1 import java.io.*; 2 import java.net.*; 3 4 class Ping { 5 6 public static void main(string args[]) { 7 try { 8 Socket t = new Socket(args[0], 7); 9 BufferedReader is = new BufferedReader(new 10 InputStreamReader( t.getinputstream())); 11 PrintStream os = new PrintStream(t.getOutputStream()); os.println("hello"); 14 String str = is.readline(); if (str.equals("hello")) 17 System.out.println("Alive :-)") ; 18 else 19 System.out.println("Dead :-("); t.close(); 22 } catch (IOException e) { 23 System.out.println(e);
35 10.3 간단한소켓프로그래밍 뉴스읽기 : Network News Transfer Protocol (NNTP) NNTP 는뉴스의배포, 포스팅, 검색에관련된프로토콜 NNTP 는중앙의데이타베이스에뉴스기사들이저장되고, 독자들은원하는기사를읽을수있도록설계 NNTP 에관련된문서는 RFC977 과 RFC1036, RFC850 에자세히설명 뉴스그룹은주제별로분류되어있으며, 많은사람들이이용하기때문에각주제에맞는내용을포스팅해야한다. 내용에맞지않는뉴스기사를올리는것은실례가된다. NNTP 는 119 번포트를사용한다.
36 10.3 간단한소켓프로그래밍 뉴스기사의예 From: (Jerry Schwarz) Path: cbosgd!mhuxj!mhuxt!eagle!jerry Newsgroups: news.announce Subject: Usenet Etiquette -- Please Read Message-ID: Date: Fri, 19 Nov 82 16:14:55 GMT Followup-To: news.misc Expires: Sat, 1 Jan 83 00:00: Organization: AT&T Bell Laboratories, Murray Hill
37 10.3 간단한소켓프로그래밍 NNTP 명령어 ARTICLE GROUP HELP IHAVE 뉴스기사를읽어오는명령어이다. ARTICLE 명령어는다음과같은형태로실행시킨다. ARTICLE <message-id> ARTICLE [nnn] 뉴스그룹을설정할때는 GROUP 명령어를사용한다. GROUP groupname 도움말이필요한경우에는 HELP 명령어를사용한다. HELP 클라이언트가뉴스기사를가지고있는것을서버에알릴때 IHAVE 명령어를사용한다. 서버가기사를원하는경우에는뉴스기사전체를넘겨줄수있다. IHAVE <messageid>
38 10.3 간단한소켓프로그래밍 LIST 사용가능한뉴스그룹들의목록을보여준다. LIST NEWNEWS NEXT POST QUIT date 와 time 에기술된시간이후에게시된새로운뉴스들의 id 를보여준다. NEWNEWS newsgroup date time [GMT] 뉴스를읽으면내부적으로현재뉴스기사에대한포인터를유지하고있다. NEXT 는이포인터를다음뉴스기사로이동시킨다. NEXT 뉴스기사를포스팅한다. POST 뉴스서버와연결을종료한다. QUIT
39 10.3 간단한소켓프로그래밍 썬의 sun.net.nntp 패키지를이용해서뉴스를읽고, 포스팅하는프로그램 예제 : NntpHeader.java ( 뉴스헤더읽는예제 ) 1 import sun.net.nntp.*; 2 import java.io.*; 3 4 public class NntpHeader { 5 public static void main(string[] args) throws IOException { 6 NntpClient c = new NntpClient(args[0]); 7 String newsgroup = "han.test"; 8 c.setgroup(newsgroup); 9 NewsgroupInfo ni = c.getgroup(newsgroup); 10 int first = ni.firstarticle; 11 int last = ni.lastarticle; 12 for (int i = first; i <= last; i++) { 13 try { 14 InputStream theheader = c.getheader(i); 15 BufferedReader br = new BufferedReader(new 16 InputStreamReader(theHeader)); 17 String theline; 18 System.out.println(" " + i + "/" + last); 19 while ((theline = br.readline())!= null) 20 System.out.println(theLine); 21 } catch (NntpProtocolException ne) {}
40 10.3 간단한소켓프로그래밍소켓을이용한프로그램예제 : NewsHeader.java. 4 public class NewsHeader { 5 public static void main(string args[]) { 6 PrintStream out; 7 BufferedReader in;.. 13 try { 14 Socket socket = new Socket(args[0], 119); 15 out = new PrintStream(socket.getOutputStream()); 16 in = new BufferedReader(new 17 InputStreamReader(socket.getInputStream())); 18 out.println("group han.test"); 19 out.flush(); 20 while(line == null!line.startswith("421")) { 21 out.println("head"); 22 out.flush(); 23 line = in.readline(); 24 if(line.startswith("subject: ")) { 25 System.out.println(line.substring(9)); 26 } 27 out.println("next"); 28 out.flush(); 29 }
41 10.3 간단한소켓프로그래밍 SMTP (Simple Mail Transfer Protocol) SMTP 는메일을효과적이고신뢰성있게전송하기위한프로토콜 데이타스트림을차례대로전송할수있는기능만있으면 SMTP 는전송시스템과는무관하게작동될수있다. SMTP 에관한자세한내용과설명은인터넷문서 RFC 821 에서참고 SMTP 에서통신모델 User SMTP Commands/Replies Sender- Receiver- File SMTP And Mail SMTP File System System Sender-SMTP Receiver-SMTP
42 10.3 간단한소켓프로그래밍 SMTP 명령어 HELO MAIL RCPT DATA QUIT sender-smtp 와 receiver-smtp 간에전송채널을만든다. HELO <SP> <domain> <CRLF> receiver-smtp 에메일을보낼것이라는것을알리고, 메일보내는사람의리턴메일주소를기입해서정체성을밝힌다. MAIL <SP> FROM:<reverse-path> <CRLF> 메일수신자를알려준다. RCPT <SP> TO:<forward-path> <CRLF> 메일의내용을 receiver-smtp 에전송한다. 메일의끝은 '.' 으로되어있다. DATA <CRLF> 전송채널을닫는다. QUIT <CRLF>
43 10.3 간단한소켓프로그래밍 Post Office Protocol - Version 3 (POP3) 메일을읽기위해메일서버에연결해서오랫동안작업하는경우에자원의낭비를가져올수있기때문에, 클라이언트에서메일을간단하게관리할수있게개발된것이 POP 프로토콜이다. POP3 서버는 TCP 포트 110 을사용하면서클라이언트로부터요청이오는경우에클라이언트의요청과서버의응답이라는상호대화방식으로서비스해준다. 서버측의응답에는서버의상태를표시하는메시지를포함한다. 서버는클라이언트의요청이성공적으로수행된경우에는 "+OK" 메시지를, 실패한경우에는 "-ERR" 메시지를보낸다. pop3 에관한자세한내용은 RFC 1725 에서참고할수있다.
44 10.3 간단한소켓프로그래밍 POP3 명령어 USER PASS QUIT STAT POP3 서버에사용자 id 를전달한다. USER user_name POP3 서버에사용자의암호를전달한다. PASS password TCP 연결을끊으면서삭제마크가있는경우에메일을삭제한다. QUIT 상태를알려준다. STAT 명령어의응답은 "+OK nn mm" 형태인데, nn 은메일의갯수를 mm 은메일의크기를알려준다. STAT
45 10.3 간단한소켓프로그래밍 LIST RETR DELE NOOP RSET 메일의리스트들을보여준다. LIST 명령어의아규먼트로메시지번호를부여하면리스트스캐닝이일어난다. LIST [msg#] 메일의내용을보여준다. RETR 명령어에메시지번호를부여하면해당번호의메일내용을보여준다. RETR msg# 메일에삭제마크를붙인다. DELE msg# 아무작업도하지않는다. NOOP POP3 의메일상태를초기화시킨다. 삭제마크가부여된메일이있는경우에는삭제마크가없어진다. RSET
46 10.3 간단한소켓프로그래밍 MailReader : 메일을읽고보내는프로그램 MailReader 결과 ( 메일읽기 )
47 10.3 간단한소켓프로그래밍 메일작성
48 10.4 DatagramSocket DatagramSocket TCP 는신뢰성이있는반면에초기에연결하는데많은자원이소모되므로간단한메시지전달은 TCP 대신에 UDP 를사용 UDP 를사용하는경우에는메시지전달여부를보장할수없고, 메시지가전달되더라도중복되거나순서가달라질수있다. 자바에서 UDP 를사용하는경우순서에따라프로그램을작성 클라이언트와서버는모두 DatagramSocket 클래스를만들고, 서로간에통신은 DatagramPacket 클래스를이용해서패킷단위로정보가이동된다. DatagramSocket 클래스의생성자 DatagramSocket() - 로컬컴퓨터의사용가능한임의의포트를사용 DatagramSocket(int port) - 로컬컴퓨터의주어진포트를사용 DatagramSocket(int port, InetAddress addr) - 주어진주소와포트번호를사용
49 10.4 DatagramSocket DatagramPacket 클래스는데이터를받기위한용도와데이터를보내기위한용도로사용될수있으며, 용도에따라다른생성자를이용해서만든다. 생성자 데이터를받는경우에사용되는 DatagramPacket DatagramPacket(byte[] buf, int length) DatagramPacket(byte[] buf, int offset, int length) 데이터를보내기위해사용되는 DatagramPacket DatagramPacket(byte[] buf, int length, InetAddress address, int port) DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
50 10.4 DatagramSocket 자바 UTP 프로그램작성 UDP 클라이언트 DatagramSocket() UDP 서버 DatagramSocket() send() 데이터 ( 요청 ) receive() receive() 데이터 ( 응답 ) 클라이언트요청처리 send() close()
51 10.4 DatagramSocket 예제 : DatagramServerThread.java 1 import java.io.*; 2 import java.net.*; 3 import javax.swing.*; 4 import java.awt.*; 5 6 class DatagramServerThread extends Thread { 7 private DatagramSocket socket = null; 8 private int count; 9 10 DatagramServerThread() { 11 super("datagramserver"); 12 try { 13 socket = new DatagramSocket(1268); 14 } catch (java.io.ioexception e) { 15 System.err.println("Could not create datagram socket."); 16 } 17 } 18
52 10.4 DatagramSocket 19 public void run() { 20 if (socket == null) 21 return; System.out.println("DatagramServer is ready."); 24 while (true) { 25 try { 26 byte[] buf = new byte[1024]; 27 DatagramPacket packet; 28 InetAddress address; 29 int port; 30 String dstring = null; packet = new DatagramPacket(buf, 1024); 33 socket.receive(packet); 34 int len = packet.getlength(); 35 address = packet.getaddress(); 36 port = packet.getport(); 37 showmessage(buf, len); 38 }catch (IOException e) { 39 System.err.println("IOException: " + e); 40 e.printstacktrace(); 41 } 42 } 43 }
53 10.4 DatagramSocket 45 protected void finalize() { 46 if (socket!= null) { 47 socket.close(); 48 socket = null;. 52 private void showmessage(byte[] msg, int len) { 53 new MessageW(new String(msg, 0, len)); 54 } 56 public static void main(string[] args) 57 new DatagramServerThread().start(); 58 } 59 } 61 class MessageW extends JFrame { 62 JTextArea data; public MessageW(String m) { 65 super(" 메시지 "); 66 data = new JTextArea(m); 67 getcontentpane().add(new JScrollPane(data), "Center"); 68 setsize(300, 200); 69 setvisible(true);.
54 10.4 DatagramSocket 예제 : DatagramClient.java 1 import java.io.*; 2 import java.net.*; 3 import java.awt.*; 4 import java.awt.event.*; 5 6 class DatagramClient extends Frame implements ActionListener { 7 InetAddress address; 8 String servername; 9 DatagramSocket socket = null; 10 DatagramPacket packet; 11 byte[] sendbuf ; 12 TextField server; 13 TextArea input; 14 Button send, clear; public DatagramClient() { 17 super(" 데이터그램클라이언트 "); 18 sendbuf = new byte[1024]; input = new TextArea(); server = new TextField();
55 10.4 DatagramSocket 21 Panel top = new Panel(new BorderLayout()); 22 top.add(new Label(" 서버이름 "), "West"); 23 top.add(server, "Center"); 24 add(top, "North"); 25 add(input, "Center"); 26 Panel bottom = new Panel(); 27 send = new Button("SEND"); 28 send.addactionlistener(this); 29 clear = new Button("CLEAR"); 30 clear.addactionlistener(this); 31 bottom.add(send); 32 bottom.add(clear); 33 add(bottom, "South"); addwindowlistener(new WindowAdapter() { 36 public void windowclosing(windowevent e) { 37 setvisible(false); 38 if(socket!= null) 39 socket.close(); 40 dispose(); 41 System.exit(0); 42 }
56 10.4 DatagramSocket 43 }); 44 setsize(400, 200); 45 setvisible(true); protected void sendmessage() { 49 try { 50 address = InetAddress.getByName(serverName); 51 socket = new DatagramSocket(); 52 }catch(exception e) { 53 System.out.println(e); 54 } if (socket!= null) { 57 try { 58 String msg = input.gettext(); 59 byte[] buf = msg.getbytes(); 60 packet = new 61 DatagramPacket(buf, buf.length, address, 1268); 62 socket.send(packet); 63 }catch (IOException e) { 64 System.err.println("IOException: " + e); 65 e.printstacktrace(); 66 }
57 10.4 DatagramSocket 67 socket.close(); 68 } 69 } 71 public void actionperformed(actionevent e) { 72 Button b = (Button) e.getsource(); 73 if(b == send) { 74 servername = server.gettext(); 75 if(servername == null servername.trim().length() == 0) 76 return; sendmessage(); 79 input.settext(""); 80 }else { 81 input.settext(""); 82 } 83 } public static void main(string[] args) { 86 new DatagramClient(); 87 } 88 }
58 10.4 DatagramSocket 결과 C:\> java DatagramServerThread & C:\> java DatagramClient DatagramClient 결과 MessageW 결과
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 informationMicrosoft PowerPoint - Supplement-03-TCP Programming.ppt [호환 모드]
- Socket Programming in Java - 목차 소켓소개 자바에서의 TCP 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 Q/A 에코프로그램 - EchoServer 에코프로그램 - EchoClient TCP Programming 1 소켓소개 IP, Port, and Socket 포트 (Port): 전송계층에서통신을수행하는응용프로그램을찾기위한주소
More informationMicrosoft PowerPoint - 03-TCP Programming.ppt
Chapter 3. - Socket in Java - 목차 소켓소개 자바에서의 프로그램작성방법 주요클래스와메소드 HTTP 프로토콜을이용한예제 에코프로그램 에코프로그램 - EchoServer 에코프로그램 - EchoClient Q/A 1 1 소켓소개 IP,, and Socket 포트 (): 전송계층에서통신을수행하는응용프로그램을찾기위한주소 소켓 (Socket):
More information자바-11장N'1-502
C h a p t e r 11 java.net.,,., (TCP/IP) (UDP/IP).,. 1 ISO OSI 7 1977 (ISO, International Standards Organization) (OSI, Open Systems Interconnection). 6 1983 X.200. OSI 7 [ 11-1] 7. 1 (Physical Layer),
More information<4D F736F F F696E74202D20C1A63235C0E520B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D628B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 25 장네트워크프로그래밍 이번장에서학습할내용 네트워크프로그래밍의개요 URL 클래스 TCP를이용한통신 TCP를이용한서버제작 TCP를이용한클라이언트제작 UDP 를이용한통신 자바를이용하여서 TCP/IP 통신을이용하는응응프로그램을작성하여봅시다. 서버와클라이언트 서버 (Server): 사용자들에게서비스를제공하는컴퓨터 클라이언트 (Client):
More informationChap12
12 12Java RMI 121 RMI 2 121 RMI 3 - RMI, CORBA 121 RMI RMI RMI (remote object) 4 - ( ) UnicastRemoteObject, 121 RMI 5 class A - class B - ( ) class A a() class Bb() 121 RMI 6 RMI / 121 RMI RMI 1 2 ( 7)
More information13-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 informationTCP.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 informationNetwork 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 informationMicrosoft 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 informationrmi_박준용_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<4D F736F F F696E74202D E20B3D7C6AEBFF6C5A920C7C1B7CEB1D7B7A1B9D62E >
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 소켓 (Socket) (1/2) Socket 이란? 서버와클라이언트가서로특정한규약을사용하여데이터를전송하기위한방식 서버와클라이언트는소켓연결을기다렸다가소켓이연결되면서로데이터를전송 현재네트워크상에서의모든통신의근간은 Socket 이라할수있음 Page 2 1 소켓 (Socket) (2/2)
More information12-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歯NetworkKawuiBawuiBo.PDF
(2000 12 Jr.) from Yongwoo s Park Java Network KawuiBawuiBo Game Programming from Yongwoo s Park 1 Java Network KawuiBawuiBo Game Programming from Yongwoo s Park 2 1. /... 4 1.1 /...4 1.2 /...6 1.3...7
More information[ 네트워크 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 informationPowerPoint 프레젠테이션
명품 Java Essential 1 2 학습목표 1. 소켓통신에대한이해 2. 자바로간단한소켓통신프로그램작성 TCP/IP 소개 3 TCP/IP 프로토콜 두시스템간에데이터가손상없이안전하게전송되도록하는통신프로토콜 TCP 에서동작하는응용프로그램사례 e-mail, FTP, 웹 (HTTP) 등 TCP/IP 특징 연결형통신 한번연결후계속데이터전송가능 보낸순서대로받아응용프로그램에게전달
More information<4D F736F F F696E74202D20B3D7C6AEBFF6C5A9C7C1B7CEB1D7B7A1B9D65F FBCD2C4CF5FC3A4C6C35FBFA1C4DA2E BC8A3C8A
학습목표 자바의소켓포트의개념을이해한다 네트워크프로그래밍 클라이언트통신프로그램의구조를이해한다 소켓과클라이언트소켓을구분하여이해한다 11 주소켓 - 애코김문정 tops@u1.ac.kr 2 포트 (port) 데이터송수신창구 0~65536 (0~1024 : well-known port) ServerSocket 클래스 ( 소켓 ) ServerSocket 클래스에사용되는클래스
More information학습목표 네트워크개요 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<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D313939392D382E687770>
i ii iii iv v vi 1 2 3 4 가상대학 시스템의 국내외 현황 조사 가상대학 플랫폼 개발 이상적인 가상대학시스템의 미래상 제안 5 웹-기반 가상대학 시스템 전통적인 교수 방법 시간/공간 제약을 극복한 학습동기 부여 교수의 일방적인 내용전달 교수와 학생간의 상호작용 동료 학생들 간의 상호작용 가상대학 운영 공지사항,강의록 자료실, 메모 질의응답,
More informationSubnet 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 informationbn2019_2
arp -a Packet Logging/Editing Decode Buffer Capture Driver Logging: permanent storage of packets for offline analysis Decode: packets must be decoded to human readable form. Buffer: packets must temporarily
More informationPowerPoint 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 informationMicrosoft PowerPoint - Lecture_Note_5.ppt [Compatibility Mode]
TCP Server/Client Department of Computer Engineering Kyung Hee University. Choong Seon Hong 1 TCP Server Program Procedure TCP Server socket() bind() 소켓생성 소켓번호와소켓주소의결합 listen() accept() read() 서비스처리, write()
More informationSMB_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 information02 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 informationPowerPoint Presentation
객체지향프로그래밍 클래스, 객체, 메소드 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 필드만있는클래스 텔레비젼 2 예제 1. 필드만있는클래스 3 예제 2. 여러개의객체생성하기 4 5 예제 3. 메소드가추가된클래스 public class Television { int channel; // 채널번호 int volume; // 볼륨 boolean
More informationThe Pocket Guide to TCP/IP Sockets: C Version
얇지만얇지않은 TCP/IP 소켓프로그래밍 C 2 판 4 장 UDP 소켓 제 4 장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송싞및수싞 4.4 UDP 소켓의연결 UDP 소켓의특징 UDP 소켓의특성 싞뢰할수없는데이터젂송방식 목적지에정확하게젂송된다는보장이없음. 별도의처리필요 비연결지향적, 순서바뀌는것이가능 흐름제어 (flow
More information<4D F736F F F696E74202D20C1A63139C0E520B9E8C4A120B0FCB8AEC0DA28B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 19 장배치관리자 이번장에서학습할내용 배치관리자의개요 배치관리자의사용 FlowLayout BorderLayout GridLayout BoxLayout CardLayout 절대위치로배치 컨테이너안에서컴포넌트를배치하는방법에대하여살펴봅시다. 배치관리자 (layout manager) 컨테이너안의각컴포넌트의위치와크기를결정하는작업 [3/70] 상당히다르게보인다.
More informationhd1300_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<4D F736F F F696E74202D20C1A63234C0E520C0D4C3E2B7C228B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 24 장입출력 이번장에서학습할내용 스트림이란? 스트림의분류 바이트스트림 문자스트림 형식입출력 명령어행에서입출력 파일입출력 스트림을이용한입출력에대하여살펴봅시다. 스트림 (stream) 스트림 (stream) 은 순서가있는데이터의연속적인흐름 이다. 스트림은입출력을물의흐름처럼간주하는것이다. 스트림들은연결될수있다. 중간점검문제 1. 자바에서는입출력을무엇이라고추상화하는가?
More informationNetwork Programming
Part 5 확장된 Network Programming 기술 1. Remote Procedure Call 2. Remote Method Invocation 3. Object Request Broker 2. Java RMI
More informationMicrosoft PowerPoint - [EEL2] Lab10.pptx
Lab10 (Week 13) 네트워크프로그래밍 전자공학실험 2 Week13: 실습과제 (Lab10) Lab10 #1~#4 실습일실습시간종료시까지이메일로제출 이메일제목 : [EEL2] Lab10-Part1 Lab10 #5~#7 다음주실습시간시작시하드카피 ( 리포트 ) 로제출 리포트제목 : [EEL2] Lab10-Part2 최소 1 시간은실습실에서실습을진행해야합니다.
More informationJMF3_심빈구.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(Microsoft PowerPoint - AUTCHEYREGRG.ppt [\310\243\310\257 \270\360\265\345])
자바네트워크프로그래밍 학습내용 네트워킹의개요와 java.net 패키지 인터넷주소와 URL TCP 소켓 UDP 소켓 2 네트워킹의개요와 java.net 패키지 자바는사용자가네트웍의세부구조를몰라도네트웍기능을편리하게사용할수있는기능들을 java.net 패키지로제공 사용자는 java.net 패키지에서제공되는클래스들을이용하여네트워킹관련프로그램을작성 3 1. 네트워킹의개요와
More informationPowerPoint 프레젠테이션
@ 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 informationPowerPoint 프레젠테이션
Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용
More informationThe Pocket Guide to TCP/IP Sockets: C Version
인터넷프로토콜 5 장 데이터송수신 (3) 1 파일전송메시지구성예제 ( 고정크기메시지 ) 전송방식 : 고정크기 ( 바이너리전송 ) 필요한전송정보 파일이름 ( 최대 255 자 => 255byte 의메모리공간필요 ) 파일크기 (4byte 의경우최대 4GB 크기의파일처리가능 ) 파일내용 ( 가변길이, 0~4GB 크기 ) 메시지구성 FileName (255bytes)
More informationPowerPoint 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제8장 자바 GUI 프로그래밍 II
제8장 MVC Model 8.1 MVC 모델 (1/7) MVC (Model, View, Controller) 모델 스윙은 MVC 모델에기초를두고있다. MVC란 Xerox의연구소에서 Smalltalk 언어를바탕으로사용자인터페이스를개발하기위한방법 MVC는 3개의구성요소로구성 Model : 응용프로그램의자료를표현하기위한모델 View : 자료를시각적으로 (GUI 방식으로
More informationclass InetAddress3{ public static void main(string[] args) throws Exception{ String url = null ; Scanner reader = new Scanner(System.in); System.out.p
네트워크프로그램작성 -네트워크예제는새로운프로젝트를만든후에패키지르만들지않은상태에서작성한다. -프로그램의컴파일과실행은 명령프롬프트 에서한다. -자바파일의컴파일은 javac 파일이름.java" 와같이실행한다. -컴파일되어생성된클래스파일의실행은 java 파일이름 와같이실행한다. -소켓을이용한프로그램은항상 요청을받는역할 의프로그램과 요청을보내는역할 의프로그램이존재하므로,
More informationgnu-lee-oop-kor-lec10-1-chap10
어서와 Java 는처음이지! 제 10 장이벤트처리 이벤트분류 액션이벤트 키이벤트 마우스이동이벤트 어댑터클래스 스윙컴포넌트에의하여지원되는이벤트는크게두가지의카테고리로나누어진다. 사용자가버튼을클릭하는경우 사용자가메뉴항목을선택하는경우 사용자가텍스트필드에서엔터키를누르는경우 두개의버튼을만들어서패널의배경색을변경하는프로그램을작성하여보자. 이벤트리스너는하나만생성한다. class
More informationchapter4
Basic Netw rk 1. ก ก ก 2. 3. ก ก 4. ก 2 1. 2. 3. 4. ก 5. ก 6. ก ก 7. ก 3 ก ก ก ก (Mainframe) ก ก ก ก (Terminal) ก ก ก ก ก ก ก ก 4 ก (Dumb Terminal) ก ก ก ก Mainframe ก CPU ก ก ก ก 5 ก ก ก ก ก ก ก ก ก ก
More informationAPI 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 informationJAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각
JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( http://java.sun.com/javase/6/docs/api ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각선의길이를계산하는메소드들을작성하라. 직사각형의가로와세로의길이는주어진다. 대각선의길이는 Math클래스의적절한메소드를이용하여구하라.
More informationPowerPoint Presentation
객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리
More informationMicrosoft PowerPoint _TCP_IP
네트워크 2007 년상반기 1 의개념 (ransmission Control Protocol / Internet Protocol) -는네트워크를상호연결시켜정보를전송할수있도록하는기능을가진다수의 프로토콜이모여있는프로토콜집합임. - 의가장대표적인프로토콜은 3 계층의 IP 와 4 계층의 CP 로대부분의응용서비스가 CP 상 에서이루어지나, 최근인터넷의단점을보완하기위해
More information2009년 상반기 사업계획
소켓프로그래밍활용 IT CookBook, 유닉스시스템프로그래밍 학습목표 소켓인터페이스를활용한다양한프로그램을작성할수있다. 2/23 목차 TCP 기반프로그래밍 반복서버 동시동작서버 동시동작서버-exec함수사용하기 동시동작서버-명령행인자로소켓기술자전달하기 UDP 프로그래밍 3/23 TCP 기반프로그래밍 반복서버 데몬프로세스가직접모든클라이언트의요청을차례로처리 동시동작서버
More informationJMF2_심빈구.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 informationMicrosoft PowerPoint - tem_5
2014 년도 1 학기 (961805-501) 컴퓨터네트워크 2014.04.30 장문정 (cathmjang@gmail.com) 홍익대학교게임소프트웨어전공 네트워크계층 이장의목표 : 네트워크계층서비스에대한기본원리를이해 네트워크계층서비스모델 포워딩 (forwarding) vs. 라우팅 (routing) 네트워크계층프로토콜 : IP, DHCP, ICMP 등 라우팅알고리즘
More information문서의 제목 나눔고딕B, 54pt
Eclipse JDT 1. 도구개요 2. 설치및실행 3. 주요기능 4. 활용예제 1. 도구개요 1.1 도구정보요약 도구명 Eclipse JDT (http://www.eclipse.org/) 라이선스 Eclipse Public License v1.0 소개 JDT(Java Development Toolkit) 는 Eclipse 의가장기본적인 plug-in 으로
More information<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 26 장애플릿 이번장에서학습할내용 애플릿소개 애플릿작성및소개 애플릿의생명주기 애플릿에서의그래픽컴포넌트의소개 Applet API의이용 웹브라우저상에서실행되는작은프로그램인애플릿에대하여학습합니다. 애플릿이란? 애플릿은웹페이지같은 HTML 문서안에내장되어실행되는자바프로그램이다. 애플릿을실행시키는두가지방법 1. 웹브라우저를이용하는방법 2. Appletviewer를이용하는방법
More informationNetwork Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University
Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment
More informationConnection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET
135-080 679-4 13 02-3430-1200 1 2 11 2 12 2 2 8 21 Connection 8 22 UniSQLConnection 8 23 8 24 / / 9 3 UniSQL 11 31 OID 11 311 11 312 14 313 16 314 17 32 SET 19 321 20 322 23 323 24 33 GLO 26 331 GLO 26
More informationPowerPoint 프레젠테이션
@ 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 information6강.hwp
----------------6강 정보통신과 인터넷(1)------------- **주요 키워드 ** (1) 인터넷 서비스 (2) 도메인네임, IP 주소 (3) 인터넷 익스플로러 (4) 정보검색 (5) 인터넷 용어 (1) 인터넷 서비스******************************* [08/4][08/2] 1. 다음 중 인터넷 서비스에 대한 설명으로
More informationPowerPoint Presentation
객체지향프로그래밍 인터페이스, 람다식, 패키지 ( 실습 ) 손시운 ssw5176@kangwon.ac.kr 예제 1. 홈네트워킹 public interface RemoteControl { public void turnon(); // 가전제품을켠다. public void turnoff(); // 가전제품을끈다. 인터페이스를구현 public class Television
More information슬라이드 제목 없음
2006-11-02 경북대학교컴퓨터공학과 1 제 8 장인터넷프로토콜 : IP 데이터그램 단편화 검사합 옵션 IP 설계 IP 프로토콜 2006-11-02 경북대학교컴퓨터공학과 2 2006-11-02 경북대학교컴퓨터공학과 3 네트워크계층프로토콜 IP (Internet Protocol) TCP/UDP 세그먼트를받아서패킷별로경로선택 ICMP (Internet Control
More informationuntitled
CAN BUS RS232 Line Ethernet CAN H/W FIFO RS232 FIFO IP ARP CAN S/W FIFO TERMINAL Emulator COMMAND Interpreter ICMP TCP UDP PROTOCOL Converter TELNET DHCP C2E SW1 CAN RS232 RJ45 Power
More informationCluster management software
자바네트워크프로그래밍 (OCJP 국제공인자격취득중심 ) 충북대학교 최민 기본예제 예외클래스를정의하고사용하는예제 class NewException extends Exception { public class ExceptionTest { static void methoda() throws NewException { System.out.println("NewException
More informationJAVA PROGRAMMING 실습 09. 예외처리
2015 학년도 2 학기 예외? 프로그램실행중에발생하는예기치않은사건 예외가발생하는경우 정수를 0으로나누는경우 배열의크기보다큰인덱스로배열의원소를접근하는경우 파일의마지막부분에서데이터를읽으려고하는경우 예외처리 프로그램에문제를발생시키지않고프로그램을실행할수있게적절한조치를취하는것 자바는예외처리기를이용하여예외처리를할수있는기법제공 자바는예외를객체로취급!! 나뉨수를입력하시오
More informationPowerPoint Presentation
객체지향프로그래밍 오류처리 손시운 ssw5176@kangwon.ac.kr 오류메시지를분석한다. 오류메시지에서많은내용을알수있다. 2 디버깅 디버거를사용하면프로그램에서쉽게오류를감지하고진단할수있다. 디버거는중단점을설정하여서프로그램의실행을제어할수있으며문장 단위로실행하거나변수의값을살펴볼수있다. 3 이클립스에서디버깅 4 이클립스에서디버깅 5 이클립스의디버깅명령어 6 예외처리
More informationgnu-lee-oop-kor-lec06-3-chap7
어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base
More informationInterstage5 SOAP서비스 설정 가이드
Interstage 5 Application Server ( Solaris ) SOAP Service Internet Sample Test SOAP Server Application SOAP Client Application CORBA/SOAP Server Gateway CORBA/SOAP Gateway Client INTERSTAGE SOAP Service
More information14-Servlet
JAVA Programming Language Servlet (GenericServlet) HTTP (HttpServlet) 2 (1)? CGI 3 (2) http://jakarta.apache.org JSDK(Java Servlet Development Kit) 4 (3) CGI CGI(Common Gateway Interface) /,,, Client Server
More informationPowerPoint 프레젠테이션
배효철 th1g@nate.com 1 목차 표준입출력 파일입출력 2 표준입출력 표준입력은키보드로입력하는것, 주로 Scanner 클래스를사용. 표준출력은화면에출력하는메소드를사용하는데대표적으로 System.out.printf( ) 를사용 3 표준입출력 표준출력 : System.out.printlf() 4 표준입출력 Example 01 public static void
More information9장.key
JAVA Programming 1 GUI(Graphical User Interface) 2 GUI!,! GUI! GUI, GUI GUI! GUI AWT Swing AWT - java.awt Swing - javax.swing AWT Swing 3 AWT(Abstract Windowing Toolkit)! GUI! java.awt! AWT (Heavy weight
More informationMicrosoft Word - src.doc
IPTV 서비스탐색및콘텐츠가이드 RI 시스템운용매뉴얼 목차 1. 서버설정방법... 5 1.1. 서비스탐색서버설정... 5 1.2. 컨텐츠가이드서버설정... 6 2. 서버운용방법... 7 2.1. 서비스탐색서버운용... 7 2.1.1. 서비스가이드서버실행... 7 2.1.2. 서비스가이드정보확인... 8 2.1.3. 서비스가이드정보추가... 9 2.1.4. 서비스가이드정보삭제...
More information파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter
파일로입출력하기II - 파일출력클래스중에는데이터를일정한형태로출력하는기능을가지고있다. - PrintWriter와 PrintStream을사용해서원하는형태로출력할수있다. - PrintStream은구버전으로가능하면 PrintWriter 클래스를사용한다. PrintWriter 클래스의사용법은다음과같다. PrintWriter writer = new PrintWriter("output.txt");
More informationMicrosoft PowerPoint - java2-lecture7.ppt [호환 모드]
TCP/IP 소개 Application Layer (HTTP, FTP, SMTP, Telnet, ) Networking 514770 2018 년가을학기 11/12/2018 박경신 TCP/IP 프로토콜 Application Layer SMTP(Simple Mail Transfer Protocol), Telnet, FTP(File Transfer Protocol),
More information제11장 프로세스와 쓰레드
제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드
More informationMicrosoft Word - release note-VRRP_Korean.doc
VRRP (Virtual Router Redundancy Protocol) 기능추가 Category S/W Release Version Date General 7.01 22 Dec. 2003 Function Description VRRP 는여러대의라우터를그룹으로묶어하나의가상 IP 어드레스를부여해마스터로지정된라우터장애시 VRRP 그룹내의백업라우터가마스터로자동전환되는프로토콜입니다.
More information쉽게 풀어쓴 C 프로그래밊
Power Java 제 27 장데이터베이스 프로그래밍 이번장에서학습할내용 자바와데이터베이스 데이터베이스의기초 SQL JDBC 를이용한프로그래밍 변경가능한결과집합 자바를통하여데이터베이스를사용하는방법을학습합니다. 자바와데이터베이스 JDBC(Java Database Connectivity) 는자바 API 의하나로서데이터베이스에연결하여서데이터베이스안의데이터에대하여검색하고데이터를변경할수있게한다.
More information오버라이딩 (Overriding)
WindowEvent WindowEvent 윈도우가열리거나 (opened) 닫힐때 (closed) 활성화되거나 (activated) 비활성화될때 (deactivated) 최소화되거나 (iconified) 복귀될때 (deiconified) 윈도우닫힘버튼을누를때 (closing) WindowEvent 수신자 abstract class WindowListener
More informationMicrosoft 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 informationMicrosoft PowerPoint - ÀÚ¹Ù08Àå-1.ppt
AWT 컴포넌트 (1) 1. AWT 패키지 2. AWT 프로그램과이벤트 3. Component 클래스 4. 컴포넌트색칠하기 AWT GUI 를만들기위한 API 윈도우프로그래밍을위한클래스와도구를포함 Graphical User Interface 그래픽요소를통해프로그램과대화하는방식 그래픽요소를 GUI 컴포넌트라함 윈도우프로그램만들기 간단한 AWT 프로그램 import
More informationMicrosoft 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 informationUSB 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 informationMicrosoft PowerPoint PythonGUI-socket
: 채팅프로그래밍 순천향대학교컴퓨터공학과 이상정 순천향대학교컴퓨터공학과 1 학습내용 인터넷구조 인터넷구성요소 인터넷주소 클라이언트 / 서버구조 소켓프로그래밍소개 파이썬소켓프로그래밍 TCP 클라이언트 / 서버프로그래밍 스레드소개 파이썬스레드 채팅클라이언트 / 서버프로그램 순천향대학교컴퓨터공학과 2 네트워크요소 네트워크가장자리 (edge) 호스트 : 클라이언트와서버
More informationPowerPoint 프레젠테이션
(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<4D F736F F F696E74202D20C1A63230C0E520BDBAC0AE20C4C4C6F7B3CDC6AE203128B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 20 장스윙컴포넌트 1 이번장에서학습할내용 텍스트컴포넌트 텍스트필드 텍스트영역 스크롤페인 체크박스 라디오버튼 스윙에서제공하는기초적인컴포넌트들을살펴봅시다. 스윙텍스트컴포넌트들 종류텍스트컴포넌트그림 텍스트필드 JTextField JPasswordField JFormattedTextField 일반텍스트영역 JTextArea 스타일텍스트영역
More information이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론
이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN
More informationMicrosoft PowerPoint - Supplement-02-Socket Overview.ppt [호환 모드]
소켓개요 참고문헌 : 컴퓨터네트워크프로그래밍, 김화종, 홍릉과학출판사 Socket 정의 Socket 은 Transport 계층 (TCP 나 UDP) 을이용하는 API 1982 년 BSD 유닉스 41 에서처음소개 윈도우즈의경우 Winsock 제공 JAVA 또한 Socket 프로그래밍을위한클래스제공 Socket Interface 의위치 5-7 (Ses, Pre,
More informationq 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2
객체지향프로그래밍 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2 q 객체지향프로그래밍의이해 v 프로그래밍기법의발달 A 군의사업발전 1 단계 구조적프로그래밍방식 3 q 객체지향프로그래밍의이해 A 군의사업발전 2 단계 객체지향프로그래밍방식 4 q 객체지향프로그래밍의이해 v 객체란무엇인가
More informationJava
Java http://cafedaumnet/pway Chapter 1 1 public static String format4(int targetnum){ String strnum = new String(IntegertoString(targetNum)); StringBuffer resultstr = new StringBuffer(); for(int i = strnumlength();
More informationPowerPoint 프레젠테이션
실습 1 배효철 th1g@nate.com 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3
More information<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>
Power Java 제 8 장클래스와객체 I 이번장에서학습할내용 클래스와객체 객체의일생직접 메소드클래스를 필드작성해 UML 봅시다. QUIZ 1. 객체는 속성과 동작을가지고있다. 2. 자동차가객체라면클래스는 설계도이다. 먼저앞장에서학습한클래스와객체의개념을복습해봅시다. 클래스의구성 클래스 (class) 는객체의설계도라할수있다. 클래스는필드와메소드로이루어진다.
More information16장
16 네트워크 O b j e c t i v e s TCP/IP 프로토콜의개념을이해한다. 자바의소켓포트의개념을이해한다. 서버클라이언트통신프로그램의구조를이해한다. 서버소켓과클라이언트소켓을구분하여이해한다. URL 객체와 URLConnection 객체를활용할줄안다. 소켓프로그래밍을이해한다. 간단한채팅프로그램소스를통해소켓통신을이해한다. C H A P T E R JAVA
More informationPowerPoint 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 informationJAVA PROGRAMMING 실습 08.다형성
2015 학년도 2 학기 1. 추상메소드 선언은되어있으나코드구현되어있지않은메소드 abstract 키워드사용 메소드타입, 이름, 매개변수리스트만선언 public abstract String getname(); public abstract void setname(string s); 2. 추상클래스 abstract 키워드로선언한클래스 종류 추상메소드를포함하는클래스
More information11장.key
JAVA Programming 1 GUI 2 2 1. GUI! GUI! GUI.! GUI! GUI 2. GUI!,,,!! GUI! GUI 11 : GUI 12 : GUI 3 4, JComponent 11-1 :, JComponent 5 import java.awt.*; import java.awt.event.*; import javax.swing.*; public
More information웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2
DB 와 WEB 연동 (1) [2-Tier] Java Applet 이용 웹연동 } 웹 (Web) 환경에서데이터베이스시스템을연동하는방법은다음과같다 } Server Client 구조의통신 (2-Tier) } Server Middleware Client 구조의통신 (3-Tier) 2 JAVA Applet 을이용한 Client Server 연동기법 } Applet
More informationSpring Boot/JDBC JdbcTemplate/CRUD 예제
Spring Boot/JDBC JdbcTemplate/CRUD 예제 오라클자바커뮤니티 (ojc.asia, ojcedu.com) Spring Boot, Gradle 과오픈소스인 MariaDB 를이용해서 EMP 테이블을만들고 JdbcTemplate, SimpleJdbcTemplate 을이용하여 CRUD 기능을구현해보자. 마리아 DB 설치는다음 URL 에서확인하자.
More informationMicrosoft Word - NAT_1_.doc
NAT(Network Address Translation) 1. NAT 개요 1 패킷의 IP 헤더의수신지주소, 발신지주소또는그주소를다른주소로변경하는과정 2 NAT기능을갖는장치를 NAT-BOX라함 ( 시스코라우터, 유닉스시스템, 윈도우의호스트혹은몇개의다른시스템일수있기때문에이렇게지칭하기도함 ) 3 NAT 기능을갖는장치는일반적으로스텁도메인 (Stub-domain)
More informationJava Programing Environment
Lab Exercise #7 Swing Component 프로그래밍 2007 봄학기 고급프로그래밍 김영국충남대전기정보통신공학부 실습내용 실습과제 7-1 : 정규표현식을이용한사용자정보의유효성검사 (ATM 에서사용자등록용도로사용가능 ) 실습과제 7-2 : 숫자맞추기게임 실습과제 7-3 : 은행관리프로그램 고급프로그래밍 Swing Component 프로그래밍 2
More information(Microsoft PowerPoint - java1-lecture11.ppt [\310\243\310\257 \270\360\265\345])
예외와예외클래스 예외처리 514760-1 2016 년가을학기 12/08/2016 박경신 오류의종류 에러 (Error) 하드웨어의잘못된동작또는고장으로인한오류 에러가발생되면 JVM실행에문제가있으므로프로그램종료 정상실행상태로돌아갈수없음 예외 (Exception) 사용자의잘못된조작또는개발자의잘못된코딩으로인한오류 예외가발생되면프로그램종료 예외처리 추가하면정상실행상태로돌아갈수있음
More informationPWR 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슬라이드 1
UNIT 16 예외처리 로봇 SW 교육원 3 기 최상훈 학습목표 2 예외처리구문 try-catch-finally 문을사용핛수있다. 프로그램오류 3 프로그램오류의종류 컴파일에러 (compile-time error) : 컴파일실행시발생 럮타임에러 (runtime error) : 프로그램실행시발생 에러 (error) 프로그램코드에의해서해결될수없는심각핚오류 ex)
More informationThe Pocket Guide to TCP/IP Sockets: C Version
1 목포해양대해양컴퓨터공학과 UDP 소켓 네트워크프로그램설계 4 장 2 목포해양대해양컴퓨터공학과 목차 제 4장 UDP 소켓 4.1 UDP 클라이언트 4.2 UDP 서버 4.3 UDP 소켓을이용한데이터송신및수신 4.4 UDP 소켓의연결 3 목포해양대해양컴퓨터공학과 UDP 소켓의특징 UDP 소켓의특성 신뢰할수없는데이터전송방식 목적지에정확하게전송된다는보장이없음.
More information01-OOPConcepts(2).PDF
Object-Oriented Programming Concepts Tel: 02-824-5768 E-mail: hhcho@selabsoongsilackr? OOP (Object) (Encapsulation) (Message) (Class) (Inheritance) (Polymorphism) (Abstract Class) (Interface) 2 1 + = (Dependency)
More information제1장 Unix란 무엇인가?
1 소켓 2 1 소켓 클라이언트 - 서버모델 네트워크응용프로그램 클리이언트 - 서버모델을기반으로동작한다. 클라이언트 - 서버모델 하나의서버프로세스와여러개의클라이언트로구성된다. 서버는어떤자원을관리하고클라이언트를위해자원관련서비스를제공한다. 3 소켓의종류 소켓 네트워크에대한사용자수준의인터페이스를제공 소켓은양방향통신방법으로클라이언트 - 서버모델을기반으로프로세스사이의통신에매우적합하다.
More information