Un consiglio su quale direzione prendere

di il
3 risposte

Un consiglio su quale direzione prendere

Mi sembra passata una vita e nel frattempo sarò ingrassato una decina di kg dall'ultima volta che vi ho rotto con i miei lamenti.
Per tutti questi giorni ho letto tanto e mangiato di più. Questo non è un lamento.
Ma vorrei dimostrarvi che mi sto impegnando. alcuni di voi mi hanno conosciuto che mi disperavo per un punto e virgola.
Con questo non voglio farvi credere di essere diventato un programmatore.
So di non esserlo. Non so ancora scrivere. La memoria mi fa dimenticare codici e comandi.
Però ho finalmente iniziato a capire quello che leggo. non tutto. Ma... vabbè... basta annoiarvi.

Sono tornato a rompervi perché mi chiedevo se potevate aiutarmi ad accendere la lampadina come avete fatto in passato.

Sto usando il TCPClient.
io sono il client e devo ricevere dei messaggi dal server.
riesco a inviare i comandi e a ricevere le risposte.
Dopo aver parlato con voi ho abbandonato l'idea di salvare le risposte in un Array.
Adesso le risposte che arrivano dal server li salvo su un file di testo.

Qual'è il problema?
Quando clicco sul pulsante per attivare il codice
se il server ha dei dati va tutto liscio.

Ma se il server non ha niente da dire, allora l'applicazione si blocca.
non permette di fare niente finche il server non manda dei dati nuovi.
cosi il codice prende i dati e li va a scrivere nel file.

visto che sono argomenti abbastanza complessi, prima di fondere la testa volevo un vostro consiglio.
il problema che ho riguarda

-sincrono/asincrono?
-thread?
- o altro di cui non ho idea?

Grazie e buona notte

3 Risposte

  • Re: Un consiglio su quale direzione prendere

    Puoi usare una funzione di ricezione non bloccante; di più non ti so dire, dato che ignoro che cosa tu stia facendo e con che linguaggio e su quale sistema operativo.
    La funzione di ricezione C recv POSIX possono essere non-bloccanti se viene passato il flag MSG_DONTWAIT
    while (1) {
       char buf[1024];
       ret = recv(fd, buf, sizeof(buf), MSG_DONTWAIT);
       if ((errno == EWOULDBLOCK)||(errno == EAGAIN)){
       	// il messaggio potrebbe essere incompleto  
       	processMsg(buf, ret);
       } else {
       	// Gestione degli altri codici di errore
       }
    }
    Ci sono poi altre funzioni ed altri metodi per gestire i socket non-bloccanti oppure usare select() per impostare un timeout sul socket o controllare se ci sono dati...
  • Re: Un consiglio su quale direzione prendere

    Grazieeeeee. Devo studiarmi un po i buffer. Non ci avevo pensato. Sto imparando il c#. Buona giornata
  • Re: Un consiglio su quale direzione prendere

    Ho scritto nel bar per rendere la cosa più leggera. Mentre preparavo la colazione pensavo... è complicato il pensiero. Spero di riuscire a farmi capire senza offendere nessuno. Il mio linguaggio e le mie conoscenze non sono approfondite. Ma questo mondo mi ha sempre affascinato.
    Credo di appartenere alla seconda generazione. Quando andavo a scuola usavamo i floppy per fare laboratorio.
    Internet non esisteva. E se avevi un problema chi cavolo ti aiutava a risolverlo?
    Questo è quello che stavo pensando.
    Che oggi forse è più importante sapersi vendere. Prendete con le pinze questo che ho appena detto. Perché non lo penso sul serio.

    Prima un programmatore era un PROGRAMMATORE. Lo vedevi e sapevi per certo che aveva le "palle". Che aveva studiato. Che aveva la passione e anche le emoxxxxxx. Ci aveva buttato il sangue seduto a quella scrivania non ergonomica.
    Molti di voi sono dei programmatori. Ma ne conosco tantissimi che sono dei falsi programmatori. E la cosa triste credono di esserlo solo perché sanno installare un programma o credono di essere dei sistemisti solo perché sanno configurare una scheda di rete. E quanti ne ho visti. E si atteggiano pure.
    Oggi si è tutto inbastardito. Operai in cassa integrazione che si mettono a imbiancare. Imbianchini che lavorando meno li vedi a sturare i lavandini. "OPERATORI COMPUTER" che si spacciano per PROGRAMMATORI. e vengono pagati anche bene.
    Che tristezza

    E con questo sfogo auguro a tutti voi un allegra giornata.
Devi accedere o registrarti per scrivere nel forum
3 risposte