BSD yuvalarından Winsock'e bazı kodları yüklüyorum ve aşağıdaki durumun nasıl ele alınacağından emin değilim. ne dosya tanıtıcısı 0 yaşından beri, Winsock bu çalıştırmak çalışıyorWinsock'ta Dosya Kolları ve Yuvaları Karıştırma
FD_SET(sock, &fd);
FD_SET(0, &fd);
...
if (select(..., &fd, ...)...)
bir hata 10038 (WSAENOTSOCK) verir, mantıklı:
Benim orijinal uygulama Stdin ve ağ soketi hem seçkin çalışır Linux (stdin), Windows'da bir soket (daha doğrusu: bir SOKET tipi) değildir.
Bu sınama Windows soketlerine yerleştirmenin kolay bir yolu var mı?
teşekkürler Max. Bunu bugün deneyeceğim. Yine de utanç verici; Winsock porting tabakası olmasını umuyordum; Bu, hayal edeceğim biraz daha fazla bir yeniden yazma gerektirecek gibi görünüyor. Oh iyi. – Mikeage
Özel bir yolla oluşturulmadığı sürece Üst üste Çakışan IO'yu bir tanıtıcı üzerinde kullanamazsınız. Bu, özellikle, üç standart akış gibi, devralınan IO'yu devralınan tutamaçlarda kullanamayacağınız anlamına gelir. –