|
| HOMEPAGE | INDICE FORUM | REGOLAMENTO | ::. | NEI PREFERITI | .:: | RSS Forum | RSS News | NEWS web | NEWS software | |
| PUBBLICITA' | | | ARTICOLI | WIN XP | VISTA | WIN 7 | REGISTRI | SOFTWARE | MANUALI | RECENSIONI | LINUX | HUMOR | HARDWARE | DOWNLOAD | | | CERCA nel FORUM » | |
03-05-2004, 18.32.52 | #1 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
Controllo SOCKET C
ho creato un client e un server in C e desidero monitorare ogni 10 secondi o manualmente se le connessioni stabilite sono ancora attive... potete aiutarmi? grazie Ns-1 |
03-05-2004, 18.38.01 | #2 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
In ANSI-C l'hai scritto?
Bye |
03-05-2004, 18.54.47 | #3 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
si...
|
03-05-2004, 19.01.50 | #4 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Sarò probabilmente criticato per questa scelta, soprattutto a livello di "analisi" ma io ritengo che occorra considerare una cosa:
La soluzione migliore (a mio avviso) per avere un "qualcosa" che possa controllare ciclicamente o ad un dato evento, è un thread. In questo caso, dato che ti interessa controllare lo stato della connessione, sarebbe utile creare un thread demone che lo faccia... Fare un thread in C puro, per fare un semplice controllo, mi sembra troppo e tutti sappiamo che il linguaggio che opera meglio coi thread e dove fare un thread è al quanto semplice è Java, personalmente creerei una classe thread java che si interfaccia via JNI al tuo componente C, chiamando periodicamente una subroutine ove tu controlli lo stato della connessione e fornisci indietro i dati direttamente a Java. Bye |
03-05-2004, 19.15.47 | #5 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
io pensavo di fare semplicemente una funzione in C con un timeout...
es. quando invio i miei dati o premo un tasto "REFRESH" richiamo la mia funzione che: invia pacchetto "pippo" se non ho risposta entro 'TIMEOUT' concludo la connessione ed eventualmente la ristabilisco... è così male come soluzione? ps - esiste una funzione SLEEP? grazie Ns-1 |
03-05-2004, 19.34.29 | #6 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Scusa, avevo capito forse male il tuo post...
La soluzione mi sembra idonea, in C esiste la funzione sleep() che acceta come parametri il numero di secondi in cui vuoi fare restare in attesa il processo... (ci sono tuttavia altri metodi più soffisticati per fare lo 'sleep') La soluzione è valida, secondo me. Bye |
03-05-2004, 19.41.47 | #7 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
.. grazie...
cosa intendi per metodi più sofisticati? |
04-05-2004, 10.11.03 | #8 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Per Soluzione più soffisticata intendo appunto un thread, un daemon o comunque un componente chiamante scritto "ad hoc"... o magari un listener al posto dello sleep e così via.
Bye |
04-05-2004, 13.07.07 | #9 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
ok...
grazie... |
06-05-2004, 19.55.19 | #10 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
ho quasi finito...
sorgenti di prog fatti bene con tutti i controlli del caso? ciao |
07-05-2004, 15.30.47 | #11 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
.. facendo i test ho notato che la prima volta che chiudo la connessione e lascio attivo il server va tutto bene, se stabilisco un'altra connessione e la chiudo ancora, il server riceve una stringa tipo: [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
cosa non pulisco? cosa c'è che non va? grazie Ns-1 |
07-05-2004, 15.47.54 | #12 |
Gold Member
Registrato: 07-01-2002
Loc.: Milano
Messaggi: 2.863
|
Sicuramente ci sarà qualcosa di "sporco", dipende dal codice, fai delle malloc? .. usi dei vettori?.. hai controllato gli indici?... stringhe senza terminatore ?....
Bye |
07-05-2004, 16.06.31 | #13 |
Linux Supporter
Registrato: 02-12-2000
Loc.: Monza
Messaggi: 1.987
|
Potresti postare il codice?
Cmnq un'ottimo libro sui socket ( sotto linux ) e' Unix Network Programming di Richard Stevens.. Ti consiglio l'acquisto, anche se costa abbastanza.. Ciao |
07-05-2004, 16.17.45 | #14 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
web, 'malloc' non l'ho usato ma per il resto il codice ¨¨ ok, non sono un mago della programmazione ma in c me la cavo abbastanza...
secondo te, per esperienza magari, cosa potrebbe essere? i caratteri non sono [[[[[[ ma ¨d¨d¨d¨d¨d¨d¨d¨d¨d |
07-05-2004, 16.18.49 | #15 |
Hero Member
Registrato: 09-05-2002
Loc.: COMO
Messaggi: 1.135
|
non far caso a cosa è uscito... il carattere giusto nella mappa caratteri è: arial U+2560
|
Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti) | |
Strumenti discussione | |
|
|
Discussioni simili | ||||
Discussione | Autore discussione | Forum | Risposte | Ultimo messaggio |
[MDV] 2006 - problema kde | juggler | Linux e altri Sistemi Operativi | 4 | 29-12-2006 21.06.08 |
[XP/SP2] Controllo in corso del file System | primoair | Windows 7/Vista/XP/ 2003 | 2 | 28-02-2006 22.13.01 |
[Valutazione] cpu+mobo+ram+scsi+sata+video | Don`t`Ask | Mercatino Usato | 2 | 14-11-2004 18.54.06 |
controllo D:/ al boot | slivio... | Windows 7/Vista/XP/ 2003 | 2 | 21-11-2003 01.32.59 |