2013년 9월 10일 화요일

자바네트워크강좌,자바교육,자바강좌,자바 멀티캐스트 Multicast 다루기 ,오엔제이프로그래밍

자바네트워크강좌,자바교육,자바강좌,자바 멀티캐스트 Multicast 다루기 ,오엔제이프로그래밍


이번 강좌에서는 Multicasting에 대해 알아 보겠습니다.

Broadcasting
• 하나의 네트웍 단위 내에 있는 호스트들이 데이터를 받을 수 있으며 네트웍 내의 특정한 호스트에 보내는 것이 아니라 일괄적으 로 보내는 것 입니다.( 텔레비전 송신기 )
• 브로드캐스트 주소란 주어진 네트웍 안의 모든 호스트들이 받 을 수 있는 주소를 말하며 만약 UDP 패킷이 브로드 캐스트 주소 로 전송되면 그 네트웍안의 모든 호스트들은 패킷을 받을 수 있다는 거죠~
• 로컬 브로드 캐스트 주소로 사용되는 값은 보통 로컬 서브넷의 가장 끝 주소를 사용 합니다..
• 브로드캐스트 패킷은 주어진 네트웍안의 모든 호스트가 잡지만 멀티캐스트 패킷은 원하는 호스트들만 잡습니다.

Multicasting
• 패킷이 라우터를 통해 이동하여 여러 네트웍을 거치며 따라서 목적지 호스트가 어디 있든지 데이터를 받을 수 있습니다 . 멀티 캐스트용 호스트와 라우터는 IGMP(Internet Group Managerment Protocol)를 지원해야 하며 멀티캐스트 주소로 보내어지는 패킷을 처리할 줄 알아야 합니다 .( 화상회의 ) 보통 멀티캐스트 그룹 IP가 있는데 여기에 특정한 호스트가 입입하면(join) 그 호스트가 어디에 있든지 데이터를 보낼 수 있다는 겁니다.(멋지죠?)
• 멀티캐스팅은 한 호스트에서 많은 호스트로 데이터를 전송하는 것이며 broadcasting과는 달리 전체 모든 호스트로 일괄적으로 전송하지 않습니다 . 데이터를 특정 멀티캐스트 그룹에 가입한 호스트에만 전달 하는 것입니다.
• 애플리케이션은 데이터그램을 멀티캐스트 주소로 전송 하는데 멀티 캐스트 주소는 일반주소와 크게 다르지 않으며 라우터는 데이터가 멀티캐스트 그룹에 속한 호스트에 모두 전달되었는지 확인 합니다 . 물론 이 경우 라우터가 멀티캐스팅을 지원해야 가능 합니다 .
• 애플리케이션에서도 데이터그램의 헤더에 TTL(Time to Live) 이라 는 필드를 추가해야 하는데 TTL 은 패킷이 지나갈 수 있는 라우터 최대 통과 횟수 이다 . 0 이 되면 패킷은 폐기 된다 . 한번 지나갈때 마다 1 씩 감소 합니다 .
• 멀티캐스트 주소는 멀티캐스트 그룹 호스트의 주소이며 멀티캐스트 주소는 224.0.0.0~239.255.255.255 이다 . (D 클래스 )
• 멀티캐스트 그룹이란 하나의 멀티캐스트 주소를 공유하는 인터넷 호스트의 집합 이며. 멀티캐스트 주소로 전달된 임의의 데이 터는 그룹의 모든 멤버에 전달 됩니다 .
• 멀티캐스트 그룹에 가입할 수 있는 권한은 아무 호스트에게 있으며 자유롭게 가입/ 탈퇴가 가능 합니다.
• 새롭게 멀티캐스트 그룹을 생성하기 위해서는 멀티캐스트 주소 중 임의의 주소를 골라낸 후 그 주소에 대한 InetAddress 객체를 생성하여 데이터를 전송 하면 됩니다.
• 멀티캐스트와 UDP 의 차이는 패킷이 도달할 목적지가 멀티캐스트 주소인지 하나의 호스트 인지의 차이 입니다.
• “ 어떤 멀티캐스트 주소를 사용 할까 ? ” 는 정해진 것이 없으며 239 로 시작하는 모든 멀티캐스트 주소는 내부 지정용으로 예약 되어 있으므로 시험해 보기 위해서는 이 주소를 사용 한다 . (224.0.0.1 은 로컬 서브넷에서 멀티캐스팅을 지원하는 모든 시스템을 포함하는 멀티캐스트 그룹이다 .)
• IP Addresses of Class D
- Multicasting
– The range of Class D addresses are in dotted decimal notation from 224.h.h.h.h to 239.h.h.h, where h is a number from 0 to 255. Address 224.0.0.0 is reserved and can not be used, while address 224.0.0.1 is used to address all hosts that take part in IP multicasting. (224.0.0.1 은 IP 멀티캐스트에 참여하는 모든 호스트 와 라우터를 포함하는 모든 호스트 그룹에 영구히 할당되어 있으므로 사용할 수 없다 .)
아래는 생성자 입니다.

아래 프로그램은 실행시 멀티캐스트 주소를 인자로 지정 해줘야 하는데 편의상 224.0.0.2를 사용 하도록 합니다.
[MulticastServer.java]
import java.net.*;
import java.io.*;
import java.util.*;
class MulticastServer {
public static final int PORT = 1200;
final static int TTL = 16;
public static void main(String[] args) throws Exception {
DatagramPacket packet;
MulticastSocket socket = new MulticastSocket();
InetAddress address = InetAddress.getByName(args[0]); //실행시 입력한 멀티캐스트 주소로 인터넷주소 객체를 만듭니다.(224.0.0.2)
socket.joinGroup(address); //멀티캐스트 주소에 가입합니다.
byte[] data = null;
for(;;) {
Thread.sleep(1000);
System.out.println("Sending...");
String str = (new Date()).toString();
data = str.getBytes();
packet = new DatagramPacket(data, str.length(), address, PORT);
socket.send(packet, (byte)TTL);
}
}
}

[MulticastClient.java]
import java.net.*;
import java.io.*;
public class MulticastClient {
public static final int PORT = 1200;
public static void main(String[] args) throws Exception {
MulticastSocket socket = new MulticastSocket(PORT); //멀티캐스트 소켓을 생성
DatagramPacket packet;
InetAddress address = InetAddress.getByName(args[0]); //매개변수로 준 멀티캐스트 주소로 인터넷 객체를 나타내는 주소를 만듭니다.(224.0.0.2)
socket.joinGroup(address); //이 클라이언트가 멀티캐스트 주소에 가입합니다.
byte[] data = new byte[256];
packet = new DatagramPacket(data, data.length); //Datagrampacket 생성
for(;;) {
socket.receive(packet);
String str = new String(packet.getData());
System.out.println("Time aignal received from " + packet.getAddress() + " time is : " + str);
}
}
}
[서버]


[클라이언트]






오라클자바커뮤니티 추천 개발 실전 강좌 - 개인80% 환급


Spring3.X, MyBatis, Hibernate실무과정

강좌명 Spring3.X, MyBatis, Hibernate실무과정(평일야간)
오라클자바커뮤니티(www.oraclejavanew.kr) 추천 실전강좌
교재 자체교재 or PDF 파일 제공
강좌 일정 09월12일(목) ~ 10월04일(금)((평일야간) 19:00~22:00, 12일) 총 36시간
강의 장소 [C강의장]구로디지털단지역2번 출구-> 미니스톱끼고 우회전 -> 100m 직진 후 골목길 끝에서 이마트방향 우회전 -> 50m 직진 후 우체국 옆골목으로 길건너서 직진 -> 150미터 직진 후 JnK 타워에서 우회전 -> 50미터 직진 후 우측에 코오롱빌란트2차 803호 (구로구 구로3동 222-8 코오롱디지털타워 빌란트2차 803호)
[약도보기]
수강절차 - 강좌내용 확인
- 전화 또는 홈페이지(www.onjprogramming.co.kr)를 통한 수강지원 및 수강료 결제(무통장입금, 온라인 카드결제)
- 고용보험 가입자(재직자)인 경우 고용보험환급 관련 서류 제출
- 수강전 : 커리큘럼 및 장소에 대해 다시 한번 공지
- 교육 전 설문 작성(간단한 개발 경력, 수강 목적, 강좌진행방식 등)
- 강좌 수강
- 수강후 : 교육 후 설문 작성
수강료 - 590,000원
[고용주환급]대기업:14만원 전후, 중소기업:187,047 원환급

[개인수강지원(개인환급)]정규직 472,000 ,비정규직:전액환급
대기업(상시근로자 300인 이상 대기업)은 개인환급 불가합니다.

재직자 내일배움카드 : 정부지원금 80% 자기부담금 20%
(구 능력개발카드 명칭이 내일배움카드로 변경 / 연간 총한도 200만원)


* 휴강 :법정공휴일
수강료
입금안내
- 온/오프라인 카드결제, 계좌이체(수강안내->입금안내 참조)
문의사항 02-851-4790 번으로 연락 부탁 드립니다.
교육개요 본과정은 자바 웹개발에서 가장 많이 사용되고 있는 자바기반 프레임워크인 Spring3.2를 학습하는데 스프링이 왜 도입되어야 하는지부터, 기본모듈구성, 아키텍처 DI, DL, IoC, 최근 개발모델의 핵심인 Spring AOP, AspectJ Annotation, 표현언어인 SpEL, Spring MVC, Spring MVC TEST Framework, Spring WebFlow, Spring JDBC, Spring Transaction등 개발에 필요한 부분을 체계적으로 실습을 통해 학습하며 SQLMapper인 MyBatis, Hibernate 까지 학습하는 Spring 최고의 교육 입니다.

[특징]
- 실무/실습에 근거한 이론 취득
- 단기간에 스프링 개발자로 양성
- 문답씩 수업으로 수강 효과 극대화
- 이론/실습 과제로 인한 개발력 UP
교육목표 - Spring의 도입배경 및 아키텍처에 대해 이해한다.
(자바빈의 태동부터 EJB, 그리고 현재까지)
- Eclipse, Maven, STS 플러그인에 대한 이해
(개발환경 설정의 이해)
- Spring IoC(DI, DL)의 이해
(실습을 통한 setter,getter,constructor injection의 이해)
- Spring AOP의 이해
(실습을 통한 Spring AOP의 이해, AOP어렵지 않습니다)
- AspectJ Annotation에 대한 이해
(Spring의 AspectJ 지원 및 Annotation 대한 이해 by 실습)
- Spring Web MVC, JDBC의 이해
(실습을 통한 Spring MVC, JDBC의 이해)
- Spring Controller에 대한 이해
(간단한 Controller의 구현을 통한 MVC Font Contrller의 이해)
- Spring Web Flow에 대한 이해
(실습을 통한 Spring Web Flow 및 JSF에 대한 이해)
- SpEL에 대한 이해
(실습을 통한 Spring SpEL의 이해)
- Servlet3 비동기 요청에 대해 이해한다.
(실습을 통한 비동기 서블릿에 대한 이해)
- MyBatis Mapper에 대해 이해한다.
(실습을 통한 MyBatis 구성, 작동원리 이해)
- Hibernate Mapper에 대해 이해한다.
(실습을 통한 Hibernate 구성, 작동원리 이해)
- 실무 개발 환경에 적응력 UP
(Spring, MyBATIS 기반 게시판 작성)
교육대상 - JAVA, JSP 개발자
- 자바개발은 오래 했지만 프레임워크에 대해 자신이 없는 개발자
- 단기간에 스프링을 박살 내고 싶은 개발자.
(스프링 혼자 공부하기는 어렵습니다!!)
선수학습 - JAVA, JSP
 

Spring3.2 J2EE Framework에 대한 흐름과 Spring Framework에 대한 이해
개발 환경 설정(Eclipse4.3 KEPLER, Tomcat7, Spring3.2 다운로드 및 설치)
Maven, STS 플러그인 설치
Spring IoC
DL(Dependency LookUp) &DI(Dependency Injection)
Dependency Pull, CDL(Contaxtualized Lookup)
Setter/Constructor/Mathod Injection
Spring 설정
Spring AOP 란 ?Code, Advice, JoinPoint, PointCut, Aspect, WeavingProxyFactoryBean
Annotation기반 AOP(AspectJ)
기타 Spring의 선언적 AOP 선언
Spring JDBC
Spring MVC
Spring Controller
Spring Webflow, JSF
Spring 표현언어 SpEL
Servlet3 비동기 요청처리
Spring3.2 Transaction 관리
Spring MVC TEST Framework
MyBatis/hibernate [MyBatis]
개요 및 소개
개발환경 설정 및 설치
Data Mapper란
sqlMapConfig 이해 및 환경설정
Spring, MyBatis 연동
SQL Map XML File 이해
SqlMapClient 이해
SQL의 실행(Insert/update/delete) 이해와 실습
고급 쿼리 사용방법의 이해와 실습
Spring MyBatis 응용예제 작성

[Hibernate]
Hibernate 소개
SessionFactory 설정
1:1, 1:다 매핑
Session Interface
Hibernate DML
Spring, Hibernate 예제 프로그램 작성

댓글 없음:

댓글 쓰기