Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Delphi - Thread di client
Forum - Delphi - Thread di client

Avatar
dvdansl (Normal User)
Newbie


Messaggi: 9
Iscritto: 26/06/2013

Segnala al moderatore
Postato alle 9:13
Venerdì, 28/06/2013
Ciao ragazzi.
Ammetto di essere un po' in difficoltà.
Ho iniziato a lavorare in una azienda e tra le cose mi chiedono anche di sviluppare.
Come primo progetto devo realizzare un ecr server.
Sono ad un buon punto, ma ora sto definendo il protocollo di comunicazione e iniziano le grane.
Che componente uso Indy o TClientSocket?
Io sarei propenso per il TClientSocket soprattutto per mantenere la linea aziendale che ha sempre usato questo componente.
Usando il componente dovrei però creare un thread di client, ma qui vado nel pallone
Mi buttate giù un po' di codice?! son veramente perso nel vuoto.
Non saprei da dove iniziare..

PM Quote
Avatar
Bonny (Member)
Expert


Messaggi: 437
Iscritto: 24/04/2009

Segnala al moderatore
Postato alle 14:54
Venerdì, 28/06/2013
Non conosco Delphi.. ma in linea di massima, questo progetto a livello concettuale credo, sia simile con qualsiasi linguaggio di programmazione.

Il programma client  (può avere un thread ma può anche non esserci dipende da quali funzionalità deve assumere) tenta in instaurare una connessione con il programma server, questo avviene mediante un socket (è nient'altro che il canale di comunicazione), tipo di comunicazione 1 a 1. Cioè un Client interagisce con un server.

A differenza del programma client, il server può (cioè deve :)) interagire con molti programmi client (esempio web browser (molti) <---> web server (uno)).
Per far ciò il server deve gestire molte socket, quanti sono i client. Per fare in modo che il programma server possa scrivere su due socket "contemporaneamente"  si usano i thread.
Cioè ogni qualvolta il server riceve un messaggio di connessione da parte di un client, il server pone a disposizione del client un thread, in modo che, da qual momento in poi il client interagisca con quel thread. In quanto, il thread è un "clone" del server quindi può offrire tutti i servizi al client a qui è associato.

lo scorso anno ho dovuto creare una chat multiutente, dove ho implementato questa cosa in linguaggio C.
Qui trovi una spiegazione più dettagliata del principio di funzionamento, il disegno dovrebbe aiutarti a capire.

http://www.lucabonaldo.it/chat-multi-utente/

PM Quote
Avatar
dvdansl (Normal User)
Newbie


Messaggi: 9
Iscritto: 26/06/2013

Segnala al moderatore
Postato alle 11:25
Lunedì, 01/07/2013
Bonny, ti ringrazio.
Provo a dare un occhiata!

PM Quote