onnnzeoz
article thumbnail
Published 2023. 3. 16. 17:42
국비코딩 Mar16 | 블로킹, IP, TCP Spring

awaytermination만은 사용할 수 없음 

셧다운 없이 쟤만 쓰면 걍 기다리기만 해, 위에 셧다운이 들어가고 그담에 awaytermination가 들어가는 거

셧다운안쓰고 await쓰면 서버가 끝나지 않음

 

블로킹

그럼 runnable은 블로킹 사용안해?

반환하는것도 없는데 어캐 기다리게할거야?

future라는 객체를 반환받지 않으면 블로킹 사용이 불가능함

-> 그래서 runnable도 마찬가지로 submit에 runnable도 넣을 수 있음

 

근데 반환값이 없으니까 데이터타입에 ? 찍어버림 

-> 반환값이 없어도 블로킹 사용하려고 submit 사용해줘야함

근데 저기까지 쳐도 블로킹이 안됨 -> get()까지 찍어줘야함

이렇게 future 객체를 가져오는 get()메서드는 join()처럼 blocking 역할을 수행해

 

 

생성할 때 new안썼다는건 static으로 쓰였다는 뜻

 

IP

공인아이피 : 밖에서 우리집을 찾아올 수 있는 주소

EX 자바아파트에서 사는데 공인아파트는 서울특별시 금천구 blahblah -> 보안성 안좋은 대신 찾아올 수 있음

 

사설 아이피: 내부에서만 통하는 아이피, 밖에서 찾아올 수 없음 ->내부

ex 307호에 살아요 저는 310호에 살아요 

 

java에서 ip주소 얻기

//local IP 얻기 (자기가 쓰고있는 그 컴퓨터 ip주소)
InetAddress ia = new InetAddress.getLocalhost();
//domain으로 IP 얻기
InetAddress ia = new InetAddress.getByName( String host);
//domain에 연결된 전체 IP 얻기
InetAddress[ ] ipArr = new InetAddress.getAllByNames( String host);

 

TCP

연결지향 프로토콜, 데이터를 안전하고 정확하게 전달한다 but 속도가 느

UDP는 그냥 막 던지는 반면 TCP는 하나던지고 받았나 확인하고 다음꺼 던지고 함

TCP : 파일 다운 받을 때는 이거 씀, 1byte라도 빠지면 안되니까, 일반적으로는 이거써

UDP가 예외적으로 쓰이는 곳은 게임

 

모든 통신의 내용이 소켓에있음 -> 소켓이 없으면 접속할 수 없다 -> 소켓통신 이라고 부른다

 

접속에서 그치지 않고 stream을 통해 통신까지 하려면 echo서버가 필요하다

 

순서 : client가 보내기 server가 받기 server가 보내기 client가 받기

 

run 메서드에서는 throws가 먹히지 않음

 

파라메터를 뽑고싶다면 get이냐 oost문야 

 

profile

onnnzeoz

@onnnzeoz

비전공자의 개발 공부 일지입니다 💦 국비 풀스택 과정 수강중