20180808
e.charSubStream(); 으로 파일 만들기
test1.txt로 만들기
파일 읽어오는거 할것이다.
한줄씩 읽어오는걸 해보겠다.
====================================================
SaveLoad클래스 하나 만들었다.
앞부분 작성할 테니 파일을 저장하고 불러오는거 하면 된다.
=====================================================
직렬화
-> 객체를 스트림을 통해서 전송하기 위한 작업
-> 직렬화
-> 객체는 덩어리가 크기 때문에 byte잘라주는 작업
간단히 말하면 갖고있는 값들을 일렬로 나열한다 라고 생각하면 된다.
객체화 하는걸 보고 역 직렬화 라고 한다.
객체를 byte나열로 바꿔주고 사용하기위해선 객체를 바꿔주는 것이다.
반대과정은 역직렬화
직렬화의 조건
-> Serializable을 implements 한다.
serialVersionUID
-> 객체 직렬화시 사용되는 객체의 고유번호
-> 작성하지 않으면 JVM이 클래스를 확인후 자동으로 선언
private static final -> 규약
long
serialVersionUID
시리얼ID가 있는 이유는 역직렬화할때 시리얼ID가 변하면 안되기 때문이다.
직렬화는 객체의 값을 넘겨준다.
=========================================================================
# 네트워크 (Network)
-> net + work의 합성어
-> 그물 + 일
-> 단일로쓰여진 매체를 통신이라는 매개체를 통해서 서로 연결되어있는 환경
# 네트워킹
-> 두대이상의 컴퓨터를 케이블로 연결해서 네트워크를 구성하는 작업
# 네트워크의 목적
-> 여러개의 통신기기들을 서로 연결해서 데이터를 손쉽게 주고받거나 자원등을 공유하기 위함
-> 데이터의 교환
-> java.net 패키지
-> java.io
서버 : 서비스를 제공하는 컴퓨터
클라이언트 : 서비스를 사용하는 컴퓨터
-> 서비스를 제공하는 프로그램
-> 서비스를 사용하는 프로그램
# 네트워크모델
1. 서버기반 모델
- 장점
-> 안정적인서비스 제공가능
-> 데이터관리가 용이
-> 보안성도 높음
-단점
-> 돈이 많이든다.
-> 구축 및 유지보수에 비용이 많이 소요
ex)웹하드업체
2. Peer to Peer 모델 (P2P)
클라이언트끼리 서로 주고받는다.
- 장점
-> 가격이 저렴
-> 자원활용이 극대화
- 단점
-> 자원 관리 어렵다.
-> 보안 취약
ex) 토렌토
- 호스트 (Host)
-> 네트워크 가능한 하나의 통신기기
-> 31대 컴퓨터 -> 31대 호스트
- IP 주소(IP Address)
-> 네트워크상에서 호스트를 구별하는데 사용되는 고유한 주소
192.168.30.6 -> ipv4이다.
4바이트를 가진다. -> 1바이트,1바이트,1바이트,1바이트이다.
255.255.255.255이다.
1byte->8bit->00000000 ~ 11111111
2^32개 표시 가능
32bit로 표시
IPv6가 나왔다.
->128 bit표시 2^128개 가진다.
-> InetAdress 클래스
- URL(Uniform Resource Location)
-> 인터넷주소
-> http://www.naver.com
나눌수 있다.
http -> 프로토콜
:// -> 프로토콜 구분자
www.naver.com -> 호스트이름(도메인이름)
이렇게 3개로 나눌수 있다.
http://192.168.30.6으로 선생님은 파일 공유를 한다.
웹쉐어사이트
8080 -> 포트번호(서비스번호)
-> 관련 클래스 -> java.net.URL
프로토콜
-> 호스트간의 정보를 주고받을때 통신방법에대한 규약
-> 통신규약
-> 전달방식, 통신방식, 데이터형식, 검증법 등
HTTP(HyperTextTransferProtocol) -> 80번
-> 인터넷에서 웹서버와 사용자의 브라우저사이에 문서를 전송하기 위해 사용되는 통신규약
FTP (FileTransferProtocol) -> 20,21
-> 호스트간의 파일전송을 위한 통신규약
Telnet(Telecommunication network) -> 23
-> 원격지의 호스트를 접속할때 사용하는 프로토콜
SSH -> 암호화처리
네트워크 모델
-> 데이터를 만들때 최상의 효율성과 안정성을 보장하기위해 만들어놓은 구조
-> 통신이 일어나는 절차를 각 기능별로 모듈화시켜서 만든 구조
-> OSI 7 Layer, TCP/IP 모델
1. OSI 7 Layer
-> 국제 표준화기구(ISO) 표준화를 위해 만든 모델
7계층
(Application) 응용계층 : 사용자의 인터페이스게층으로 사용자의 명령을 받아줌
6계층
(Presentation) 표현계층 : 상위계층에서 만들어진 데이터의 형태 표현
(인코딩, 압축, 암호화)
5계층
(Session) 세션계층 : 하위계층과 상위계층의 세션연결 및 동기화
4계층
(Transport) 전송계층 : 데이터전송방식 결정(TCP/UDP)
3계층
(Network) 네트워크계층 : 종단간(host간) 연결보장계층(IP 주소)
2계층
(DataLink) 데이터링크계층 : Node간 연결보장(Mac 주소)
1계층
(Pysical) 물리계층 : 비트형태의 신호를 패턴부여하여 전기적신호로 변경
1~4계층 -> 하위계층(하드웨어 계층) -> 데이터전달
5~7계층 -> 상위계층(소프트웨어 계층) -> 데이터생성 -> 개발
TCP/IP 모델
-> OSI보다 먼저 만들어짐
4계층(Application) : OSI 5~7계층 역할
3계층(Transport) : OSI 4계층 역할
2계층(Internet) : OSI 3계층 역할
1계층(Netwokr Interface) : OSI 1~2계층
4계층 상위계층
1~3계층 하위계층
TCP(Transmission Control Protocol)
-> 데이터 전달의 신뢰성을 최대한 보장하기 위한 방식
-> 연결지향형
-> 세션연결(3way handshake) -> 데이터전달
-> 세션연결 해제
-> 신뢰성보장
-> 순차적으로 데이터를 전송
-> 확인응답 및 오류시 재전송
-> HTTP, FTP
-> 속도가 UDP에 비해서 느림
UDP(User Datagram Protocol)
-> 데이터의 빠른 전달을 보장
-> 비신뢰 -> 비연결
-> 스트리밍서비스
TCP/UDP HTTP/FTP?Telnet/SSH/POP3
-> 서비스를 포트번호로 구분
IP 1개당 65535개 포트를 사용가능(TCP/UDP 각각)
-> HTTP : TCP 80
-> FTP : TCP 20, TCP 21
-> TFTP : UDP 69 -> 빠르게 전송하기위한 FTP
-> HTTPS : TCP 443
1000이내 -> 예약
랜섬웨어 -> 워너크라이 -> 삼바파일서버(TCP139, 445)
1000~이후 포트할당해서 사용
'IT일반과목 > java' 카테고리의 다른 글
네트워크 기초 (집공부) (0) | 2018.08.08 |
---|---|
직렬화 역직렬화 (집공부) (0) | 2018.08.08 |
자바 IO 수업3 (0) | 2018.08.08 |
자바 IO 수업2 (0) | 2018.08.08 |
입출력3 (집공부) (0) | 2018.08.08 |