서로 다른 컴퓨터가 서로 연결 되어 있는 망을 의미
컴퓨터가 사물로 변화하면서 IOT로 변경
NetWork에서의 첫번째 과제는 목적지 컴퓨터까지 어떻게 가느냐이다
EX) 약속장소에 어떻게 가느냐
-> 이 주소를 알기 쉽게 하기 위해 우리는 domain 이라는 것을 사용
컴퓨터를 -> 서버라고 한다
(기본) 클라이언트가 먼저 묻기(요청) 전에 답하지 말것 -> 서버는 응답만 할것
request ->
sever
구디 강의실 내컴퓨터 192.168.70.109
IPv4 최초의 네트워트를 만들때 주소체계가 필요하기에 4자리로 255까지
IPv6 네트워크 부족으로 16개의 층으로 이루어져 있어 이론상 무한대로 IP를 찍어낼수다. 16진수라 외우기 어려움
대형사이트의 경우 하나의 domain에 여러개의 IP를 가지고 있다
★여기서부터 중요★
※ 포로토콜 = 규약
UDP 무조건 적으로 계속 주는 방법 (게임할때 주로 사용)
순서
1.서버 소켓 생성 : 어디로 들어올건지 호실 지정
2.요청대기
3.접속요청이 올 경우 수락(소켓안에는 접속 요청자의 모든 정보가 있다)
-> 접속 요청 전까지 blocking 중 -> 누구간가 접속 요청하면 진행
4.할 일
5.클라이언트가 요청한 일이 있으면 처리, 요청한 클라이언트의 아이피의 포트 알아보기
-> 만약에 예외 발생 시 서버 소켓 종료
순서
1.소켓 생성
2.예외가발생하지 않으면 접속 완료
3.할 일
4.다 끝났으면 자원 반납
소켓으로부터 스트림을 뽑아 낼 수있다.
네트워크 상으로 파일을 내용을 소캣으로 저장하여
네트워크을 통해 다른 컴퓨터로 파일 데이터를 보내기 위해 서버를 통해 보내기 때문에
우선적으로 서버 소켓을 생성시킨다.
클라이언트가 들어갈 포트을 개방하는 역할을
while 문을 통해 접속 요청 대기를 지속적으로 요청하지만
sever.accept를 사용해서 정보를 받을때까지 브래이크 역활을 수행 해줍니다.
소켓에서 받아온 정보를 읽기 위해서 소켓겟인풋스트림을 통해 인풋스트림으로 생성하고
생성 된 is를 읽어오기 휘새 buffer ~ stream 을 사용
또한 그 데이터를 String으로 읽어오기 위해 오브젝트인풋스트림도 사용한다.
ois를 리드
서버 소켓을에 서버를 받아드리기 위한 accept를 사용 정보를 받기 전까지 브래이크 하는 역활을 진행합니다.
Input스트림을 통해 파일을 보내기 때문에 소켓에 있는 정보를 get.inputstreamd 통해 변환 해주고
그 데이터를 is 변수에 저장
이후 보조스트림을 사용해서 속도와 오브젝트화 시켜 대비 합니다.
data가 지정된 위치를 통해서 데이터가 다 읽을때까지 while문을 돌리는데
bos를 Write 하나씩 잃어낸다.