인프런 커뮤니티 질문&답변
C# 비동기 소켓 IO는 기본적으로 유저가 생성한 버퍼로 진행되나요?
해결된 질문
작성
·
278
답변 1
2
Rookiss
지식공유자
.NET 내부 구현 관련해서는 문서화 된 것이 없어서
그 부분에 대해서는 자세히 알기는 힘들지만,
C#서버도 Windows 환경에서는 IOCP를 기반으로 동작한다고 하니
특별히 다르게 동작할 것 같지는 않습니다.
마지막으로 [커널버퍼에서 유저버퍼로 복사하는 과정없이 유저버퍼에서 처리]는
커널 Send/Recv 버퍼 사이즈를 0으로 설정해서
바로 유저버퍼로 넘기는 방법을 의미하시는 것 같은데
그 부분에 대해서는 논쟁이 많고 오히려 성능이 떨어진다는 분석도 있어서
필수적이라고 보기는 어려운 것 같네요.





