Vai al contenuto

Sockets insufficenti su sistema server con TCPDataExchServer

Home Forum Controllori SlimLine e Netsyst (LogicLab) Sockets insufficenti su sistema server con TCPDataExchServer

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Autore
    Post
  • #82443
    Anonimo
    Inattivo

    Ho una applicazione con 28 sistemi SlimLine client su cui è eseguito il FB TCPDataExchClient connessi ad un sistema SlimLine sever sui cui è eseguito il FB TCPDataExchServer.

    Normalmente tutti i clients sono regolarmente connessi, ma quando connetto LogicLab al sistema server perdo la connessione con uno dei sistemi client. Ho eseguito da telnet il comando SysLog e mi trovo con questi errori:

    [01/01/1970 01:00:00.000] [L] SFR050[ 1020] Simulated RTC in use
    [01/01/1970 01:00:00.343] [L] SFW198[ 5005] Starting Op. System SFW210C010
    [01/01/1970 01:00:02.451] [E] SFW198[ 4040] Too many socket
    [01/01/1970 01:00:04.705] [L] SFW198[ 6000] Run ApplID:0x3785D6B4
    [01/01/1970 01:00:06.300] [L] SFR050[14025] Ethernet Link ok
    [01/01/1970 01:00:14.942] [W] SFW198[ 6000] User program error:10061100
    [01/01/1970 01:00:15.006] [W] SFR055[ 7100] No free pending

    Quale può essere la causa del problema.

    #82446
    Sergio Bertana
    Amministratore del forum

    Iniziamo con il dire che guardando il report di SysLog vedo che non hai l’opzione RTC sul sistema Simulated RTC in use quindi tutti gli orari iniziano dall’Epoch time.

    Venendo al tuo problema ricordo che il sistema operativo SFW210C010 supporta fino a 32 sockets, 5 sockets sono già utilizzati dal sistema operativo con il comando NetStat vediamo:

    [Admin]> netstat
     Id  Proto  Local Address          Foreign Address        Status
    [00] UDP    0.0.0.0:9999           *.*                              
    [01] TCP    0.0.0.0:23             0.0.0.0:0              LISTENING 
    [02] TCP    0.0.0.0:502            0.0.0.0:0              LISTENING 
    [03] TCP    0.0.0.0:80             0.0.0.0:0              LISTENING 
    [04] TCP    0.0.0.0:21             0.0.0.0:0              LISTENING 
    [05] TCP    192.168.0.181:23       192.168.1.251:58434    ESTABLISHED

    Ad ogni connessione come ad esempio la connessione Telnet (porta 23) si ha un socket aperto in ascolto (LISTENING) ed uno o più sockets (Dipende dal numero di connessioni accettate) in ESTABLISHED. Quindi nel tuo caso non puoi avere 28 connessioni perchè dalle 32 devi già toglierne 5 e comunque il FB TCPDataExchServer per gestire 28 connessioni utilizza 29 sockets (1 in LISTENING e 28 in ESTABLISHED).

    Per capire quanti sono effettivamente i client connessi devi eseguire il comando NetStat e verificare quanti sockets hai in ESTABLISHED sulla porta definita del server. Per avere accesso al sistema sia in Telnet che in LogicLab ed in HTTP occorrono almeno 8 sockets liberi, quindi il massimo di clients che puoi gestire sono 24.

    Nel tuo caso avendo 28 clients ti consiglio di configurare 2 sistemi come server magari scambiando i dati tra di loro con il FB DataTransfer per tenere l’area di memoria sincronizzata tra di loro.

Stai visualizzando 2 post - dal 1 a 2 (di 2 totali)
  • Devi essere connesso per rispondere a questo topic.