문제

나는 최근에 Windows 플랫폼에서 IOCP라는 것을 입력/출력 제어 포트로보다 정확하게 부딪쳤다. 이것은 것 같습니다 그만큼 수천 명의 사용자를 동시에 유지해야 할 때 서버 소프트웨어를 코딩하는 가장 효율적인 방법. (내가 틀 렸지만 소켓 당 스레드-당, 폴링 및 비동기 콜백 (모든 콜백의 스레드)이 충분히 효율적이지는 않습니다.)

이 개념을 구현할 수있는 타사 라이브러리가 있는지 궁금합니다. 나는 Win32 API가 우리에게 Createiocompletionport를 제공한다는 것을 알고 있습니다. freebsd는 Kqueue와 Linux가 일반적으로 다소 비슷하게 작동하는 /dev /epoll을 사용할 수 있지만이 물건을 처리하는 CrossPlatform 라이브러리 (Boost :: Thread)는 없습니다. 나를 위한?

도움이 되었습니까?

해결책

Boost :: Asio를 보셨습니까? 아직이 기능이 있는지 확실하지 않지만, 그것이 의도 된 것 중 하나라고 생각합니다.

다른 팁

나는 이것이이 스레드에 대한 늦은 답변이라는 것을 알고 있지만 Linux/Unix 및 Windows에서 Async IO를 지원하는 X-Platform 라이브러리에 관심이있는 사람들을 위해서는 살펴볼 수 있습니다. libuv.

libuv 처음에는 Node.js의 기초 토대로 구성되었지만 Async IO, 비 차단 TCP 소켓 및 UDP, 타이머, 아동을 포함한 많은 저수준 X- 플랫폼 문제에 대한 강력한 추상화 라이브러리가되기 위해 진화했습니다. 프로세스 산란, 고해상도 시간, 스레드 풀 스케줄링 등

libevent 많은 *닉스 OS에서 작동하며 Windows에서도 실행됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top