Linux: zaman aşımı ile yuva okumak ya da bir al var mı?
Nasıl zaman aşımı ile soketten veri okumak için deneyebilir miyim? Ben, seçin, pselect, anket, zaman aşımı bir alan var, ama onları kullanma"," tcp reno yığını.-yol hızlı tcp devre dışı bırakır biliyorum
Ben sadece fikir al kullanmaktır (, ..., MSG_DONTWAİT fd) bir döngü içinde
CEVAP
setsockopt alma işlemleri üzerinde bir zaman aşımı ayarlamak için bu işlevi kullanabilirsiniz:
SO_RCVTİMEO
Belirten zaman aşımı değerini ayarlar zaman maksimum miktarda bir giriş fonksiyon tamamlanıncaya kadar bekler. Bu ile bir timeval yapısı kabul eder saniye ve mikrosaniye sayısı nasıl sınırı belirleme giriş işlemi için beklemek tamamlayın. Alma işlemi bir bu kadar süre olmadan bloke ek veri alma olacaktır kısmi bir Kont ile iade veya hata oluştuğunu hayır [EAGAIN] veya [durum olarak ele] olarak ayarlayın veri alındı. Bu varsayılan seçeneği o gösterir, sıfırdır işlem zaman aşımına olmayacaktır alma. Bu seçenek, bir timeval yapısı alır. Tüm uygulamaları not ayarlamak için bu seçeneği sağlar.
struct timeval tv;
tv.tv_sec = 30; /* 30 Secs Timeout */
tv.tv_usec = 0; // Not init'ing this can cause strange errors
setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,sizeof(struct timeval));

Nasıl yuva yapılandırma zaman aşımı ba...
Bir zaman aşımı ile bir İnputStream ok...
Linux milisaniye cinsinden zaman almak...
Linux Bash üzerinde Epoch beri saniye ...
Java nasıl bir zaman aşımı ile bazı en...