Network.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Computer Network Lab 다중전송 소켓 컴퓨터 네트워크 실험실 이 희 규, 조 한 진.
Chap15 네트워킹 Section 1 : 네트워킹의 개요와 java.net 패키지 Section 2 : 인터넷 주소와 URL Section 3 : TCP 소켓 Section 4 : UDP 소켓.
Chap15 네트워킹 Section 1 : 네트워킹의 개요와 java.net 패키지 Section 2 : 인터넷 주소와 URL
Part TCP / IP(계속) 3. IP 주소 4. IP 라우팅 5. 응용 프로토콜.
1 안드로이드 네트워킹 안드로이드 앱 프로그래밍 여 규리.
11장. 프로토콜 핸들러 AI &HC I LAB 김 성 현.
네트워크 프로그래밍 및 실습.
CHAP 22. 블루투스.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
최윤정 Java 프로그래밍 클래스 상속 최윤정
Ch.07-5 xml-rpc 사용하기 김상엽.
Network Lab. Young-Chul Hwang
PHP입문 Izayoi 김조흔.
Chap11 네트워킹 11.1 네트워킹의 개요와 java.net 패키지 11.2 인터넷 주소와 URL 11.3 TCP 소켓
24 장 TCP/IP 24.1 개요 24.2 네트워크층 24.3 주소 지정 24.4 서브넷팅틍
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
9장 데이터 링크층 개요 (Introduction To Data-Link Layer)
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
제 14장 Multicast & Broadcast
JAVA 프로그래밍 12장 네트워킹(Networking).
31강 JAVA 네트워크 JAVA 네트워크 InetAdress, URLConnection 클래스 Socket의 이해
네트워킹 CHAPTER 13 Section 1 네트워킹의 개요와 java.net 패키지 Section 2 인터넷 주소와 URL
명품 JAVA Programming 제 16 장 네트워크.
Lesson 6. 형변환.
명품 JAVA Programming 제 16 장 네트워크.
11 장 LAN 기본 개념과 Ethernet LAN
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Chapter 06. UDP 서버/클라이언트.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
모바일 자바 프로그래밍 JDBC / WAP Ps lab 오민경.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
Java의 정석 제 15 장 네트워킹(Networking) Java 정석 남궁성 강의
Network Programming(1)
자바 5.0 프로그래밍.
15장 네트워킹 15.1 네트워킹의 개요와 java.net 패키지 15.2 인터넷 주소와 URL 15.3 TCP 소켓
Chapter 5 UDP Socket 소켓 프로그래밍.
Chapter 19 솔라리스 네트워크 관리 Solaris1 . TCP/IP 개요
I/O&socket통신 POWERPOINT & GROUP STUDY 한재희 김상훈 최기람 황인준 이어진.
7장 인터페이스와 추상 클래스.
시스템 인터페이스 Lab3 Unix 사용법 실습.
Lesson 4. 수식과 연산자.
22 장 전송층(Transport Layer)
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
제 15 장 BOOTP와 DHCP BOOTP 15.2 동적 호스트 설정 프로토콜.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
21 장 전송층(Transport Layer)
자바 암호 프로그래밍 Java Cryptography Programming
Network 네트워크 이론 및 실습 TCP / IP 4장.
자바 5.0 프로그래밍.
자바로 만든 채팅 프로그램 임경진 조주경 지도교수님 : 이광세 교수님.
JA A V W. 06.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
웹(WWW).
모바일인터넷기초 전산정보학부 모바일인터넷과 권 춘 우
Chapter 27 Mobile IP.
Introduction to JSP & Servlet
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
JSP Programming with a Workbook
MIDP 네트워크 프로그래밍 ps lab 김윤경.
9 브라우저 객체 모델.
인공지능실험실 박사 1학기 장성만 TCP/IP Socket Programming… 제 8장 도메인 이름과 인터네 주소 인공지능실험실 박사 1학기 장성만
바이트 순서 변환 함수 주소 변환 함수 바이트 조작 함수 원격지 호스트 정보를 얻는 함수
JSP Programming with a Workbook
Network Lab. Young-Chul Hwang
6 객체.
JAVA 프로그래밍 16장 JNLP.
ARP.
Presentation transcript:

Network

목차 1. 네트워크 배경 2. Java 네트워크 3 InetAddress클래스 4. URL클래스 1.1 네트워크란 1.2 TCP/IP 1.3 URL 2. Java 네트워크 2.1 자바네트워크의 구성 2.2 java.net패키지 3 InetAddress클래스 3.1 InetAddress클래스란 3.2 InetAddress클래스의 활용 4. URL클래스 4.1 URL클래스란 4.2 URL클래스의 활용1 4.3 URL클래스이 활용2 5. URLConnection클래스 5.1 URLConnection클래스란1 5.2 URLConnection클래스란2 5.3 URLConnection클래스의 활용1 5.4 URLConnection클래스의 활용2 6. URLEncoder와 URLDecoder클래스 6.1 URLEncoder, URLDecoder클래스란? 6.2 URLEncoder, URLDecoder예제 7. URLClassLoader클래스 7.1 URLClassLoader란 7.2 URLClassLoader의 활용 8. 마무리 10/04/07

1. 네트워크 배경 1.1 네트워크란? 1.2 TCP/IP 1.3 URL

1.1 네트워크란? 같은 데이터 전송 프로토콜을 통해 교신하는 연결된 정보기기 집합 네트워킹 1. 네트워크 배경 1.1 네트워크란? 같은 데이터 전송 프로토콜을 통해 교신하는 연결된 정보기기 집합 네트워킹 하나의 장치로부터 다른 장치로 데이터를 옮기는 것 같은 데이터 전송 언어를 사용 : 프로토콜 하드웨어 프로토콜 애플리케이션 통신 물리적교신 그림 1.1-1 네트워크 통신구조 10/04/07

1.2 TCP/IP IP IP 주소 TCP 1. 네트워크 배경 Internet protocol (인터넷 : 전 세계적 TCP/IP프로토콜)‏ 다양한 기기들간의 통신을 지원 IP 주소 인터넷에서 하나 이상의 웹사이트에 보유된 서버에 부여된 유일한 주소 x.x.x.x 의 형태(여기서 x는 1 바이트 총 4바이트로 구성)‏ 192.108.0.106 의 형태 TCP Transfer Control Protocol IP의 상위에 존재하는 접속기반의 전송 프로토콜 전송된 모든 데이터들이 순서대로 목적지에 도착하도록 보장 클라이언트 서버 HTTP요청 HTTP요청 라우터 TCP 세그먼트 TCP 세그먼트 IP 데이터그램 IP 세그먼트 IP 세그먼트 이더넷 이더넷 프레임 이더넷 프레임 전기신호 전기적 신호 전기적 신호 그림 1.2-1 TCP/IP통신 10/04/07

1.3 URL Uniform Resource Locator 인터넷상의 자원에 대한 고유한 주소 1. 네트워크 배경 1.3 URL Uniform Resource Locator 인터넷상의 자원에 대한 고유한 주소 protocol://hostname[:port]/path/filename#section 의 형태 http://www.bitacademy.net:8080/web/test.html#test1 프로토콜 호스트 이름 포트 경로명 파일명 참조 그림 1.3-1 URL의 구조 프로토콜(protocol) : 자원에 접근하기 위해 사용되는 프로토콜 호스트 이름(HostName) : 접근하고자 하는 자원이 있는 위치 포트(Port) : TCP 연결에 대한 포트 번호. 생략시 기본포트번호 사용 (Echo:7 DayTime:13 FTP:21 Telnet:23 SMPT:25 HTTP:80)‏ 경로명(Path) : 접근하려는 파일이 있는 위치 파일명(File) : 접근하려는 파일 10/04/07

2.1 자바 네트워크의 구성 2.2 java.net package 2. Java Network 2.1 자바 네트워크의 구성 2.2 java.net package

2.1 자바 네트워크의 구성 자바 : 네트워크를 손쉽게 연결하는 도구, 네트워크 그 자체 2. Java 네트워크 2.1 자바 네트워크의 구성 자바 : 네트워크를 손쉽게 연결하는 도구, 네트워크 그 자체 통신을 구현하는 까다로운 부분이 이미 구현되어 있음 필요한 부분을 호출하여 통신 프로그램 개발 자바 네트워크의 구성 스트림기반 I/O 클래스 + java.net패키지 클래스 1. IP주소지정(InetAddress클래스)‏ 2. TCP로 연결(Socket클래스)‏ 3. 소켓을 사용하여 스트림 생성 4. 스트림을 통한 데이터의 교환 Client server 그림 2.1-1 자바 네트워크 TCP클라이언트 프로그래밍의 원리 10/04/07

2.2 java.net패키지 자바의 네트워크를 지원하는 패키지 URL클래스류와 Socket클래스류로 나눌수 있음 InetAddress클래스 URL클래스 URLConnection클래스 URLEncoder클래스 URLDecoder클래스 URLClassLoader클래스 대표적 Socket류 클래스들 클라이언트와 서버를 연결하여 통신하는데 관련 Socket클래스 SocketImpl클래스 ServerSocket클래스 DatagreamSocket클래스 10/04/07

3.1 InetAddress 클래스란? 3.2 InetAddress 클래스의 활용

3.1 InetAddress클래스란? IP주소를 표현하고 제어하는 기능을 제공하는 클래스 Host Name자체를 가지고 주소를 표현해 그에 관련된 기능을 제공 인스턴스 생성법 생성자 메서드가 없다 다음의 static메서드를 사용하여 인스턴스를 생성한다. public static InetAddress getByName(String host) throws UnknownHostException (호스트의 이름(www.bitacademy.net) 또는 주소로 InetAddress객체 반환)‏ public static InetAddress getLocalHost() throws UnknownHostException (로컬 컴퓨터에 대한 InetAddress객체 반환. 방화벽으로 가려진경우 127.0.0.1)‏ public static InetAddress[] getAllByName(String host) throws UnknownException (호스트에 대한 모든 IP주소를 InetAddress객체 배열로 반환)‏ InetAddress myIp = InetAddress.getByName(“www.bitacademy.net”); 10/04/07

3. InetAddress클래스 3.2 InetAddress클래스의 활용 InetAddress클래스로 비트(www.bitacademy.net)의 IP정보 알아내기 InetAddressTest.java import java.net.*; public class InetAddressTest{ public static void main(String[] args) { InetAddress myIp = null; try { myIp = InetAddress.getByName("www.bitacademy.net"); System.out.println("호스트이름 : " + myIp.getHostName()); System.out.println("호스트주소 : " + myIp.getHostAddress()); System.out.println("toString : " + myIp.toString()); System.out.println("로컬호스트 : " + myIp.getLocalHost()); }catch(UnknownHostException e) {System.out.println(e);} } }  주요 메서드 getHostName(); 호스트명 getHostAddress(); 호스트 주소 getLocalHost(); 로컬호스트 정보 10/04/07

4.1 URL class란? 4.2 URL class의 활용1 4.3 URL class의 활용2

4.1 URL class란? 웹상의 주소(URL) 그 자체를 나타내는 클래스 웹상에 존재하는 자원에 접근하거나 유일한 주소를 나타내기 위해 사용됨 InetAddress클래스보다 확장된 개념 : 네트웍 연결까지 가능 URL클래스 객체 생성 URL url = new URL(protocol:resource); URL url = new URL(String protocol, String host, String file); 주요 멤버메서드 public String getFile() : URL파일명 리턴 public String getHost() : URL의 호스트명 리턴 public int getPort() : URL포트번호 리턴 public Strimg getProtocol (): URL의 프로토콜 리턴 URL bit = new URL(http://www.bitacademy.net); URL bit = new URL(“http”,”www.bitacademy.net”, “8080”, “html/index.html”); 10/04/07

4.2 URL클래스의 활용1 URL클래스로 페이지를 다운받아 확인하기 위한 절차 URL home = new URL(“http://www.bitacademy.net:80/index.html”); URL객체로의 스트림 열기 InputStream in = url.openStream(); 받는 스트림을 버퍼에 저정 BufferedReader br = new BufferedReader( new putStreamReader(in)); 버퍼를 화면에 출력하고 스트림 닫기 BufferedReader br; URL home = new URL(“http://www.bitacademy.net:80/index.html”); br = new BufferedReader(new InputStreamReader(home.openStream())); while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); openStream() = openConnection().getInputStream()‏ 10/04/07

4.3 URL클래스의 활용2 URL클래스로 호스트의 정보를 표시하고 페이지를 다운로드 URLTest.java 4. URL클래스 import java.net.*; import java.io.*; public class URLTest { public static void main(String args[]) { try { URL home = new URL("http://www.bitacademy.net:80/index.html"); BufferedReader br; String line; System.out.println("Port: "+home.getPort()); System.out.println("Protocol: "+home.getProtocol()); System.out.println("HostName: "+home.getHost()); System.out.println("File: "+home.getFile()); System.out.println("Ref: "+home.getRef()); br = new BufferedReader(new InputStreamReader(home.openStream())); while ((line = br.readLine()) != null) { System.out.println(line); } br.close(); } catch (Exception e) { System.out.println("Exception: " + e); 10/04/07

5. URLConnection class 5.1 URLConnection class 1

5.1 URLConnection class 1 URL객체에 대한 프로토콜 연결을 나타내는 추상클래스 Application과 URL간의 통신링크를 위한 작업수행 URL에 데이터 쓰기를 구현하게 함 클라이언트가 서버에 보내는 서비스 요청질의(query)‏ Http로 폼 데이터를 post방식으로 보내는 것과 같은 역할 URLConnection클래스 생성자 메서드 Protected URLConnection(URL url) 지정된 URL로의 연결을 구성 프로토콜을 직접 구현하는 아들클래스에서만 호출가능 URLConnection의 일반적인 객체 생성 URL객체를 얻어서 그 객체로 Connection을 얻음 URL url = new URL("http://java.sun.com/cgi-bin/backwards"); URLConnection connection = url.openConnection(); 10/04/07

5.2 URLConnection class 2 URLConnection클래스의 주요 메서드 void setDoInput(boolean doInput) URLConnection객체를 입력용으로 사용여부 결정 boolean getDoInput() URLConnction객체가 입력용인지를 반환. 디폴트 true void setDoOutput(boolean doOutput)‏ 출력용으로 사용할것인지의 여부 세팅 boolean getDoOutput()‏ URLConnection객체가 출력용인지를 반환. 디폴트 false 10/04/07

5.4 URLConnection class 활용 야후로 검색어 ‘자북’을 보내 검색하는 예제 URLConnection.java import java.net.*; import java.io.*; public class URLConnectionOutput { public static void main(String[] args) { try { URL url = new URL("http://search.naver.com/search.naver"); URLConnection conn = url.openConnection(); conn.setDoOutput(true); OutputStreamWriter wr = new outputStreamWriter(conn.getOutputStream()); wr.write("p=" + URLEncoder.encode(비트")); wr.flush(); wr.close(); String line=null; BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); while ((line = rd.readLine()) != null) { System.out.println(line); } rd.close(); } catch (Exception e) {e.printStackTrace();} 10/04/07

6. URLEncoder & URLDecoder class 6.1 URLEncder, URLDecoder class 란? 6.2 URLEncoder, URLDecoder 예제

6.1 URLEncoder, URLDecoder class란? 6. URLEncoder, Decoder 6.1 URLEncoder, URLDecoder class란? URLEncoder클래스 데이터를 웹서버에서 요구하는 데이터 형식으로 바꾸어 줌 (x-www-form-urlencoded 형식)‏ 변환규칙 아스키문자(a~z, A~Z, 1~9), ‘,’, ‘-’, ‘*’, ‘_’ : 그대로 전달 공백문자 : ‘+’기호로 전환 기타문자 : ‘%xy’ 같은 형식으로 변환(xy: ASCII코드를 16진수화한 결과)‏ 하나의 static 멤버 메서드를 갖음 public static String encode(String s, String enc)‏ URLDecoder클래스 X-www-form-urlencoded 형식으로 인코딩된 데이터를 디코딩 하나의 static 멤버메서드를 갖음 Public static String decode(String d, String dec)‏ 10/04/07

6.2 URLEncoder, URLDecoder 예제 6. URLEncoder, Decoder 6.2 URLEncoder, URLDecoder 예제 문자열을 인코딩하고 디코딩하는 예제 URLTest.java import java.net.*; public class URLEnDecoderTest{ public static void main(String [] args) { String str, encodedStr, decodedStr; str=“자바스킬업 – www.bitadademy.net"; encodedStr = URLEncoder.encode(str, “KSC5601”); decodedStr = URLDecoder.decode(encodedStr, “KSC5601”); System.out.println("str : " + str); System.out.println("encodedStr : " + encodedStr); System.out.println("decodedStr : " + decodedStr); } 10/04/07

7. URLClassLoader class 7.1 URLClassLoader class 란?

7.1 URLClassLoader란? URL을 통해 JAR파일 및 디렉터리의 자원 및 클래스파일 로드 ClassLoader클래스를 상속하여 loadClass()메서드 사용 URLClassLoader생성자 메서드 public URLClassLoader(URL[] urls)‏ ClassLoader를 사용해 지정된 새로운 URLClassLoader생성 URL[] urlArray = {new File(“C:/myweb/network/src").toURL()}; URLClassLoader ucl = new URLClassLoader(urlArray); Class c =ucl.loadClass("Hello"); Hello hello =(Hello)c.newInstance(); 10/04/07

7.2 URLClassLoader 활용 URLClassLoader를 이용하여 디렉터리에서 바이트코드 로딩하는 예제 URLClassLoaderTest.java import java.net.*; import java.io.*; public class URLClassLoaderTest{ public static void main(String args[]) throws Exception { URL[] urlArray = {new File(“C:/myweb/network/").toURL()}; URLClassLoader ucl = new URLClassLoader(urlArray); Class c =ucl.loadClass("Hello"); Hello hello =(Hello)c.newInstance(); hello.sayHello("홍길동"); } class Hello{ public Hello(){ public void sayHello(String name){ System.out.println(name + "씨 안녕하세요"); C:\java\16>javac URLClassLoaderTest.java C:\java\16>java URLClassLoaderTest 홍길동씨 안녕하세요 10/04/07

8. 마무리 자바는 네트워크 그 자체의 언어 자바네트워크는 URL관련 정보를 쉽게 제어할 수있는 방법 제공 InetAddress클래스로 쉽게 호스트의 IP제어 URL류 클래스로 URL자원에 대한 손쉬운 접근 10/04/07