Ahoj, chtel bych se zeptat, zda by mi nekdo nedokazal poradit s TCP serverem. Napsal jsem si testovaci TCP server ke kteremu se pripojuji nejaka zarizeni zvenku a server z nich kazkou minutu stahne nejaka data. Ta zarizeni jsou trvale pripojena k serveru. Toto vse plni ma ocekavani a spolehlive funguje. Problem nastal v momente, kdy jsem se rozhodnul zatizit server. Zatez byla provedena tak, ze se vytvoril TCP clienta, ktery simuluje nove zarizeni a tento client byl nekoliksetkrat spusten. Jakmile mnozstvi clientu presahlo hodnotu 1024 server se zacal chovat divne a padat. Udajne je to dane tim, ze kazdy proces v linuxu ma nastaveno maximalni mnozstvi filedescriptoru, ktere muze pri svem behu otevrit. Overil jsem tedy tento prikaz: ulimit -a a dostal tento vypis:[core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14853
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14853
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
 
Z tohoto jsem usoudil, ze mam skutecne nastaven maly limit a tak jsem do souboru:/etc/security/limits.confpridal tyto dva radky:
rudolf          hard     nofile          32768
rudolf          soft     nofile          32768
Po restartu PC a novem vypisu maximalniho mnozstvi jsem dostal ocekavane udaje. Jake bylo ale me prekvapeni, kdyz po vytvoreni 1024 clientu server opet spadnul. V tento moment jsem uz naprosto bezradny a nevim jak dal. Nevite kde je problem? DIK.