SlideServe
Menu
Préférences
© SlideServe · v2026

13. 네트워크 프로그래밍

felicia-munoz avatar
19 diapositives · 471 Views · Nov 03, 2014

13. 네트워크 프로그래밍. 최종명 choijm@dreamwiz.com. 13.1 TCP/IP 이해. 프로토콜 통신을 수행하기 위한 약속 데이터 포맷 명령어 인터넷의 역사 ARPAnet TCP/IP NSFnet. 13.1 TCP/IP 이해. LAN(Local Area Network). 13.1 TCP/IP 이해. 이더넷 주소 네트워크 카드 주소 이더넷 주소 확인하는 명령어 ipconfig /all. 13.1 TCP/IP 이해. IP 주소

13. 네트워크 프로그래밍 - slide 1
01 / 1913. 네트워크 프로그래밍
1 / 17

Télécharger la présentation

13. 네트워크 프로그래밍
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. 13. 네트워크 프로그래밍 최종명 choijm@dreamwiz.com

  2. 13.1 TCP/IP 이해 • 프로토콜 • 통신을 수행하기 위한 약속 • 데이터 포맷 • 명령어 • 인터넷의 역사 • ARPAnet • TCP/IP • NSFnet

  3. 13.1 TCP/IP 이해 • LAN(Local Area Network)

  4. 13.1 TCP/IP 이해 • 이더넷 주소 • 네트워크 카드 주소 • 이더넷 주소 확인하는 명령어 ipconfig /all

  5. 13.1 TCP/IP 이해 • IP 주소 • 4개의 점으로 구성된 논리적인 컴퓨터 주소 • 예: 218.237.236.192 • 컴퓨터 이름 • IP 주소를 사람이 기억하기 쉬운 이름으로 표현한 것 • DNS (Domain Name System) • 컴퓨터 이름을 IP 주소로 변환해주는 서버 • DNS가 작동되는 방법을 알아보는 명령어 nslookup java.sun.com

  6. 13.1 TCP/IP 이해 • 네트워크 구성 • 브로드캐스트 • 같은 네트워크에 소속된 모든 컴퓨터에 메시지를 전달하는 것

  7. 13.1 TCP/IP 이해 • ARP(Address Resolution Protocol) • IP 주소를 이더넷 주소로 변환해주는 것 • arp –a 명령어 • 라우터 • 데이터를 다른 네트워크에 전달하기 위해서 사용되는 컴퓨터 혹은 네트워크 장비 그림 3). 라우터

  8. 13.2 소켓 프로그래밍 • 소켓 그림 4). IP, 포트, 소켓

  9. 13.2 소켓 프로그래밍 • TCP 프로그램 작성

  10. 13.3 에코 프로그램 • 예제: EchoServer.java 13 public void service() throws IOException { 14 System.out.println("EchoServer is ready."); 15 Socket client = server.accept(); 16 InputStream is = client.getInputStream(); 17 OutputStream os = client.getOutputStream(); 18 ConsoleReader in = new ConsoleReader(is); 19 ConsoleWriter out = new ConsoleWriter(os); 20 while(true) { 21 String msg = in.readLine(); 22 System.out.println(msg); 23 if(msg.equals("bye")) { 24 break;

  11. 13.3 에코 프로그램 • 예제: EchoClient.java 1 import java.io.*; 2 import java.net.*; 3 4 public class EchoClient { 5 protected Socket socket; 6 7 public EchoClient(String host, int port) throws Exception { 8 socket = new Socket(host, port); 9 } …

  12. 13.3 에코 프로그램 • 예제: EchoClient.java(계속) 11 public void echo() throws IOException { 12 OutputStream os = socket.getOutputStream(); 13 InputStream is = socket.getInputStream(); 14 ConsoleReader in = new ConsoleReader(is); 15 ConsoleWriter out = new ConsoleWriter(os); 16 ConsoleReader con = new ConsoleReader(System.in); 17 while(true) { 18 String msg = con.readString(); 19 out.println(msg); 20 out.flush(); 21 if(msg.equals("bye")) { 22 break;

  13. 13.4 채팅 프로그램 • 채팅 프로그램 • ChatApplet – 채팅 애플릿 프로그램 • ChatHandler – ChatApplet의 대화 내용을 받아서 다른 ChatHandler를 통해 다른 ChatApplet에 전달한다 • ChatServer – ChatHandler들을 관리하는 프로그램

  14. 13.4 채팅 프로그램 • 예제: ChatServer.java 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();

  15. 13.4 채팅 프로그램 • 예제: ChatHandler.java 13 public ChatHandler(ChatServer server, Socket s) 14 throws IOException { 15 16 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));

  16. 13.4 채팅 프로그램 • 예제: ChatHandler.java(계속) 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 }

  17. 13.4 채팅 프로그램 • 예제: ChatHandler.java(계속) 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();

  18. 13.4 채팅 프로그램 • 예제: ChatApplet.java public void run() { try { String host = getCodeBase().getHost(); Socket s = new Socket(host, 9830); InputStream ins = s.getInputStream(); OutputStream os = s.getOutputStream(); i = new BufferedReader(new InputStreamReaer(ins)); o = new PrintWriter(new OutputStreamWriter(os)); execute(); …

  19. 13.4 채팅 프로그램 • 예제: ChatApplet.java(계속) public void execute() { try { while(!stop) { String line = i.readLine(); output.append(line + "\n"); ... public void actionPerformed(ActionEvent e) { ... if(c == input) { o.println(input.getText()); o.flush(); input.setText("");