inflearn logo
강의

Course

Instructor

C# TCP/IP Socket Programming

TAP

5:34 질문 있습니다.

Resolved

469

diamoboy

4 asked

0

안녕하세요 강의 복습중 궁금한점 생겨서 질문드립니다.

21번줄에 client가 Accept한 이후 통신에 대한 함수(ReadAsync)를 ThreadPool에 추가하는 형태로 코딩을 하셨는데요

ReadAsync함수에서는 while(true)내부에서 지속적으로 클라이언트와 통신을 해야하기 때문에 사실상 QueueUserWorkItem로인해 생성된 쓰레드풀의 쓰레드가 대기상태로 돌아가는 상황은 클라이언트가 연결을 종료했을 경우 말고는 없기 때문에

쓰레드풀의 쓰레드1개 = 클라이언트1개로 이해했습니다.

그렇다면 클라이언트가 connect요청을 하여 서버쪽에서accept를 할때마다 쓰레드풀의 쓰레드를 1개식 할당 하는 구조상

클라이언트 100명만 접속하더라도 쓰레드풀의 쓰레드 100개를 사용하게 되는건데 성능상 문제가 생기진 않는걸까요? 아니면 비동기 방식이기 때문에 괜찮은건가요?

혹은 쓰레드풀의 쓰레드1개 = 클라이언트1개 라는 조건이 틀린걸까요?

제가 잘못 이해한 부분이 있는걸까요?

c# tcpsocket C# tcpip

Answer 1

1

erickwon

ReadAsync 내부에서 async await를 사용해서 문제가 생기지않습니다. Environment.CurrentManagedThreadId 쓰레드 번호를 확인해보시면 대충 1개의 쓰레드가 10개정도의 클라이언트를 커버합니다.

OAuth방식 강의 문의

0

8

0

싱글턴패턴

0

3

1

코드 관련 질문

0

21

2

섹션7 수업자료 업로드 부탁드립니다.

0

22

2

Dictionary Key를 int에서 string으로 변경한 이유에 대한 문의

0

19

1

프로젝트 질문 문의

0

45

1

UI 기능 관련 질문이 있습니다!

0

37

2

TLS 질문드립니다.

0

43

2

SpinLock과 컨텍스트스위칭에 대해 질문 남겨요.

0

46

2

픽셀 좌표 스크린 좌표

0

33

0

Locomotion랑 Turn 이 꼭 부모 자식 관계일 필요가 있나요?

0

25

1

Rider대신 VS를 써도 괜찮나요?

0

117

2

Claude Code Pro구독하고 있는 상태에서 크레딧 결제, 사용문의

0

218

2

LobbyUIController의 백키가 사라졌는데 왜그런건가요?

0

41

2

프로젝트가 더 이상 지원되지 않는 .NET 6.0을 대상으로 할 때

0

309

2

Tap강의에서 6분9초에 ReceiveAsync에 매개변수 e가 필요하다는 에러

0

106

1

EAP강의에서 어떻게 여러개 클라이언트를 띄우는지 궁금합니다

0

121

1

22:38 메세지 박스가 안뜨는 문제

1

383

1

에러 관련하여 질문 있습니다.

0

293

1

에러에 관한 질문입니다.

0

1176

1

크롬으로 서버에 접속은 되지만 response되지 않는 이유가 궁금합니다

0

1765

1

예제소스 제공 원합니다.

0

366

1

방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제

0

577

1

9:45 질문 있습니다.

0

576

1