인프런 커뮤니티 질문&답변

김병대님의 프로필 이미지

작성한 질문수

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] 번외편: AWS로 시작하는 서버 운영

.NET과 OS

해결된 질문

24.05.02 20:33 작성

·

139

0

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

 

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

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

 

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

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

 

제가 가장 궁금했던것은

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

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

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

 

답변 1

0

Rookiss님의 프로필 이미지
Rookiss
지식공유자

2024. 05. 02. 20:34

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

 네 그렇습니다.

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

김병대님의 프로필 이미지
김병대
질문자

2024. 05. 02. 20:35

감사합니다!