• 카테고리

    질문 & 답변
  • 세부 분야

    데브옵스 · 인프라

  • 해결 여부

    해결됨

.NET과 OS

24.05.02 20:33 작성 조회수 61

0

안녕하세요. 지금까지 C# 서버 파트를 수강하면서 궁금한 점이 생겨 질문 드립니다!

 

C++의 경우에는 리눅스와 윈도우에서의 서버 코어쪽 프로그래밍 하는 방법이 다른 것으로 알고 있습니다.

예로 들면, 윈도우에서는 IOCP, 리눅스에서는 epoll 과 같이 말이죠.

 

그렇다면 .NET은 CLR 덕분에 리눅스나 윈도우나 프로그래밍 하는 방법에 다름이 없는것이고,

AWS에 거의 그대로 올려도 무리없이 동작하는 건가요?

 

제가 가장 궁금했던것은

.NET에서 강사님이 파트 4,7,8을 진행하시면서 하신 서버 코어 프로그래밍은 비동기식으로 Accept나 Send, Recv를 "등록" 하고, 비동기적으로 완료되면 이를 ~~Completed라는 이벤트 방식으로 통보를 받는 방식이었습니다.

저는 뭔가를 통보 받는 이 방식이 IOCP 또는 epoll과 굉장히 유사하다고 생각하였는데,

그렇다면, .NET에서는 운영체제에 따라 저희 서버 코어의 동작들을 IOCP 또는 epoll 방식으로 동작하게 하는 것인가요?

 

답변 1

답변을 작성해보세요.

0

그렇다면 .NET은 CLR 덕분에 리눅스나 윈도우나 프로그래밍 하는 방법에 다름이 없는것이고,
AWS에 거의 그대로 올려도 무리없이 동작하는 건가요?

 네 그렇습니다.

그렇다면, .NET에서는 운영체제에 따라 저희 서버 코어의 동작들을 IOCP 또는 epoll 방식으로 동작하게 하는 것인가요?
Windows일 경우 IOCP가 맞고, 리눅스 진영은 확실하진 않지만 맞지 않을까 싶습니다.

김병대님의 프로필

김병대

질문자

2024.05.02

감사합니다!