🎓 나의_대학생활_

서버프로그래밍

01.lee_3 2023. 4. 6. 16:03

 

tcp(연결지향형) 흐름도

 

udp 흐름도

 

CRUD : Create(생성), Read(읽기), Update(갱신), Delete(삭제)

서버랑 클라이언트를 잘 다루는 데에 익숙해져야한다.

OS와 NIC(자원)를 이어주는 것이 socket이고 그에 달려있는 것이 port.
bind(), listen()에서 받음.

udp : listen()이 없다. tcp보다 조금 더 직관적 / listen() 함수가 없기 때문에 내가 원할 때 받을 수 있다.
udp는 자체가 경량화가 되어 있기 때문에 사용시 정보가 누락되는 것은 감수해야한다. (하지만 빨랐죠?)

네트워크는 순서를 맞춰서 보내줄 의무가 없다. (내가 지정할 수 없다. 시스템의 역할)
tcp는 순서가 달라지면 행동을 멈추고, 다시 보내달라는 신호를 보냄.

프로토콜 종류 tcp udp
연결 방식 연결형 비연결형
전송 순서 전송 순서 보장 전송 순서가 바뀔 수 있다.
수신여부 확인 수신 여부를 확인한다. 수신 여부를 확인하지 않음
신뢰성 높다 낮다
속도 느리다 빠르다

 

UDP와 TCP는 같은 포트번호를 사용할 수 있다. (사용하는 리소스가 다르다.)

코드를 실행했을 때 방화벽이 뜬다 = 네트워크에 제대로 진입을 했다는 뜻.

UDP는 버프 사이즈가 넘어가도 그냥 통째로 넘겨준다. ethernet에서 잘라서 받음.
TCP는 명확하지 않음.

주석처리를 해도 오류가 안 뜬다.

'오류가 뜨는 것도 아닌데 왜 안될까..' → 이럴 때 필요한 게 디버깅

 

왜 안 돼. 왜. 왜 안되냐고.

'🎓 나의_대학생활_' 카테고리의 다른 글

게임리포팅  (0) 2023.04.18
문제해결능력응용  (0) 2023.04.13
문제해결능력응용  (0) 2023.04.06
취창업멘토링  (0) 2023.04.05
게임리포팅  (0) 2023.04.04