ALL, Windows에서 실행되는 비 블로킹 소켓 연결의 간단한 예제를 찾고 있습니다. Google에 시도했지만 모든 샘플은 * nix (POSIX) 또는 Windows의 차단 소켓 용입니다.비 차단 소켓 클라이언트 연결
msdn을 살펴보면 소켓을 비 차단으로 만들고 connect()를 실행하는 것이 쉽지만 소켓을 다시 넣으려면 준비가 필요합니다.
그래서 모든 것은 내가 연결될 블로킹 (blocking)이없는 소켓에서 뭔가를 필요로합니다. 읽기 및 쓰기 작업은 차단 소켓에서 수행해야합니다.
비 차단 소켓의 이유는 연결 시간 제한이 필요하며 비 차단 소켓 이외의 다른 방법이 없기 때문입니다. 아니면 거기에 있습니까?
감사합니다.
그게 유일한 방법은 아닙니다. 다른 스레드에서'connect' 연산을 실행할 수도 있습니다. 그렇다면 기다릴 수도 있고 기다리지 않을 수도 있습니다. –
@DavidSchwartz, 좋은 해결책이지만 나에게는 그렇지 않다. ;-) 나는 각각의 장치가 동시에 자체 스레드에 연결될 수 있도록 서로 다른 장치를 연결하려고합니다. 연결하기위한 스레드를 생성하면 코드를 보게 될 사람은 누구나 나를 잃을 것입니다. 그리고 나는 나 자신을 잃을지도 모른다. 게다가 프로젝트 대상 OS는 Linux입니다 (어쩌면 QNX - 실시간). Winidows는 데모 용입니다. 고맙습니다. – Igor
어쨌든 연결이 자체 쓰레드에있게된다면 왜 그 쓰레드가 연결 작업을 수행하지 않는 것이 좋을까요? –