현재 닷넷에서 기본 제공되는 Socket 클래스는 윈도우 기반으로 작성되어 있어서,
많은 기능을 지원하지 않거나 사용이 복잡하다고 생각합니다.
특히 SocketOption을 활용한 세부 기능 설정은 운영체제 호환성 문제와 복잡한 코드 작성이 뒤따릅니다.
가장 큰 문제는 TCP 소켓이 닫혔는지 확인할 수 있는 방법이 제한적이라는 점입니다.
Winsock API를 통해 확인은 가능하지만, 다른 운영체제는 지원되지 않으며,
전체적인 코드 구성을 바꿔야 하여 코드가 복잡해지는 단점이 있습니다.
예전에 취미로 간단한 통신을 구현했을 때, TCP 소켓이 강제로 닫히면서 메모리 및 스레드 누수가 발생한 경험도 있습니다.
이런 이유로 C#에서 사용하기 좋은 소켓 라이브러리를 찾고 있는데…
알고 계시는 라이브러리가 있으시다면 추천 부탁드립니다.