inflearn logo
강의

Course

Instructor

System design where you can't get promoted if you don't know

System Design for Over a Million Users, Considered from Service Launch

websocket 연결 질문

Resolved

75

jsj32820415

8 asked

0

일반적으로 websocket 연결은 클라이언트 쪽에서 먼저 하나요? 혹은 서버쪽에서 먼저 하게 되나요?

또한 연결을 끊을때도 클라이언트/서버 어느쪽에서 먼저 하게 되는지 궁금합니다!

백그라운드 상태에서도 websocket 연결은 계속 유지되고 있나요?

소프트웨어-설계 시스템-디자인

Answer 1

2

freeaion

서버는 port를 열어두고 listening상태에서 대기하고 있고, client가 http request를 보내 initial handshake를 시작하게 됩니다. initial handshake를 보낼 때 http header에 connection을 websocket으로 upgrade하고 싶다고 요청하게 됩니다. server가 handshake을 accept하면 websocket이 연결되게 됩니다.

 

연결을 끊는 것은 closing handshake에 의해 이루어지고, closing은 server나 client 어느쪽도 먼저 시작할 수 있습니다.

 

백그라운드 상태에서도 "persistent"한 연결이 유지됩니다. websocket이 연결되면, full-duplex, persistent TCP connection이라고 생각하시면 됩니다.

아주 작은 정오표 전달드립니다.

0

26

2

실제로 작은 기업에서 기획 롤

1

21

1

강의자료가 누락됐어요

0

52

2

order_product 까마귀발

0

36

2

공통 코드 , 계층 구조 질문

1

33

1

OEM에서 하는 A-SPICE

0

35

2

[DB설계] 탈퇴 유저의 구독 정보 유지 및 이메일 마스킹 관련 질문입니다.

0

50

1

자연키 vs 대리키 실무질문

0

26

1

1:N 관계에서 중간테이블 (연관엔티티)

0

53

2

공통코드 관련한 질문 드립니다.

0

69

1

차단 등 검증 로직의 위치

0

63

2

SP를 아직도 사용하나요?

0

59

2

캐시전략 - Write-behind

0

50

2

일대일 fk 위치

0

43

1

다음 강의는 언제쯤 나올까요?

0

93

2

제 3 정규형 vs BCNF 정규형 차이점?

0

95

3

채팅 시스템 메시지 플로어 질문드립니다

0

91

1

시니어엔지니어 지원

0

103

1

시스템 디자인 2권이나 머신러닝에 대한 계획

0

161

1

강의자료 어디서 받나요?

0

128

1

화면이 보이는 강의가 있고 안보이는 강의가 있어요?

1

222

2

수정사항 제보

1

230

3

채팅 시스템 key value 관련 질문이 있습니다!

0

286

1

강의 계획 관련

2

362

2