OVH Cloud OVH Cloud

Architecture d'une classe

7 réponses
Avatar
David Scime
Bonjour,

Je monte actuellement une classe gérant un protocol réseau. Cette
classe récupère des données d'un network stream.

Mon petit problème se situe au niveau de l'architecture de la classe.
Ma méthode pour la récupération des données est la suivante:

- L'interface demande une certaine donnée
- La classe envoie la commande au Stream
- La classe démarre un thread de lecture sur le stream
- La classe traite les données reçues
- La classe envoie un évènement ( données réceptionnées ) avec l'objet
de la réception
- Le thread est stoppé
- L'application gère l'évènement
- L'interface s'adapte aux données reçues

J'ai le sentiment que cette méthode n'est pas du tout
professionnelle..


David Scime
<davide@italianostra.be>

7 réponses

Avatar
Bismark Prods
Bonjour,

Pourrait-on savoir de quel protocole il s'agit ?

Merci

Bismark

"David Scime" a écrit dans le message de
news:

Bonjour,

Je monte actuellement une classe gérant un protocol réseau. Cette
classe récupère des données d'un network stream.

Mon petit problème se situe au niveau de l'architecture de la classe.
Ma méthode pour la récupération des données est la suivante:

- L'interface demande une certaine donnée
- La classe envoie la commande au Stream
- La classe démarre un thread de lecture sur le stream
- La classe traite les données reçues
- La classe envoie un évènement ( données réceptionnées ) avec l'objet
de la réception
- Le thread est stoppé
- L'application gère l'évènement
- L'interface s'adapte aux données reçues

J'ai le sentiment que cette méthode n'est pas du tout
professionnelle..


David Scime



Avatar
David Scime
Le Thu, 12 Aug 2004 11:47:37 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

Bonjour,

Pourrait-on savoir de quel protocole il s'agit ?

Merci

Bismark

"David Scime" a écrit dans le message de
news:

Bonjour,

Je monte actuellement une classe gérant un protocol réseau. Cette
classe récupère des données d'un network stream.

Mon petit problème se situe au niveau de l'architecture de la classe.
Ma méthode pour la récupération des données est la suivante:

- L'interface demande une certaine donnée
- La classe envoie la commande au Stream
- La classe démarre un thread de lecture sur le stream
- La classe traite les données reçues
- La classe envoie un évènement ( données réceptionnées ) avec l'objet
de la réception
- Le thread est stoppé
- L'application gère l'évènement
- L'interface s'adapte aux données reçues

J'ai le sentiment que cette méthode n'est pas du tout
professionnelle..


David Scime








C'est un protocol qui ne fait que répondre au demandes et qui notifie
la fin de son message, genre pop ou nntp.
Ce n'est pas un protocol du genre irc qui envoie des données n'importe
quand..
Pas de surprises donc..

David Scime

Avatar
Bismark Prods
Hello,

"David Scime" a écrit dans le message de
news:
Le Thu, 12 Aug 2004 11:47:37 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

>Bonjour,
>
>Pourrait-on savoir de quel protocole il s'agit ?
>
>Merci
>
>Bismark
>
>"David Scime" a écrit dans le message de
>news:
>>
>> Bonjour,
>>
>> Je monte actuellement une classe gérant un protocol réseau. Cette
>> classe récupère des données d'un network stream.
>>
>> Mon petit problème se situe au niveau de l'architecture de la classe.
>> Ma méthode pour la récupération des données est la suivante:
>>
>> - L'interface demande une certaine donnée
>> - La classe envoie la commande au Stream
>> - La classe démarre un thread de lecture sur le stream
>> - La classe traite les données reçues
>> - La classe envoie un évènement ( données réceptionnées ) avec l'objet
>> de la réception
>> - Le thread est stoppé
>> - L'application gère l'évènement
>> - L'interface s'adapte aux données reçues
>>
>> J'ai le sentiment que cette méthode n'est pas du tout
>> professionnelle..
>>
>>
>> David Scime
>>
>


C'est un protocol qui ne fait que répondre au demandes et qui notifie
la fin de son message, genre pop ou nntp.
Ce n'est pas un protocol du genre irc qui envoie des données n'importe
quand..
Pas de surprises donc..

David Scime




C'est très aimable à toi. Mais il existe aussi SMTP ... qui envoie des trucs
pleins de surprises. C'est un protocole par étape. Ta vision des choses est
correcte si c'est un tel protocole. Mais si c'est autre chose, cela signifie
que cela supporte l'asynchrone ... comme les MSPx alors dans ce cas de
figure c'est un peu différent... Alors est-ce du synchrone ou de
l'asynchrone ?

Merci

Bismark
Avatar
David Scime
Le Thu, 12 Aug 2004 12:02:53 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

Hello,

"David Scime" a écrit dans le message de
news:
Le Thu, 12 Aug 2004 11:47:37 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

>Bonjour,
>
>Pourrait-on savoir de quel protocole il s'agit ?
>
>Merci
>
>Bismark
>
>"David Scime" a écrit dans le message de
>news:
>>
>> Bonjour,
>>
>> Je monte actuellement une classe gérant un protocol réseau. Cette
>> classe récupère des données d'un network stream.
>>
>> Mon petit problème se situe au niveau de l'architecture de la classe.
>> Ma méthode pour la récupération des données est la suivante:
>>
>> - L'interface demande une certaine donnée
>> - La classe envoie la commande au Stream
>> - La classe démarre un thread de lecture sur le stream
>> - La classe traite les données reçues
>> - La classe envoie un évènement ( données réceptionnées ) avec l'objet
>> de la réception
>> - Le thread est stoppé
>> - L'application gère l'évènement
>> - L'interface s'adapte aux données reçues
>>
>> J'ai le sentiment que cette méthode n'est pas du tout
>> professionnelle..
>>
>>
>> David Scime
>>
>


C'est un protocol qui ne fait que répondre au demandes et qui notifie
la fin de son message, genre pop ou nntp.
Ce n'est pas un protocol du genre irc qui envoie des données n'importe
quand..
Pas de surprises donc..

David Scime




C'est très aimable à toi. Mais il existe aussi SMTP ... qui envoie des trucs
pleins de surprises. C'est un protocole par étape. Ta vision des choses est
correcte si c'est un tel protocole. Mais si c'est autre chose, cela signifie
que cela supporte l'asynchrone ... comme les MSPx alors dans ce cas de
figure c'est un peu différent... Alors est-ce du synchrone ou de
l'asynchrone ?

Merci

Bismark





C'est du synchrone, purement par étape..

David Scime

Avatar
David Scime
Le Thu, 12 Aug 2004 12:02:53 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

Hello,

"David Scime" a écrit dans le message de
news:
Le Thu, 12 Aug 2004 11:47:37 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

>Bonjour,
>
>Pourrait-on savoir de quel protocole il s'agit ?
>
>Merci
>
>Bismark
>
>"David Scime" a écrit dans le message de
>news:
>>
>> Bonjour,
>>
>> Je monte actuellement une classe gérant un protocol réseau. Cette
>> classe récupère des données d'un network stream.
>>
>> Mon petit problème se situe au niveau de l'architecture de la classe.
>> Ma méthode pour la récupération des données est la suivante:
>>
>> - L'interface demande une certaine donnée
>> - La classe envoie la commande au Stream
>> - La classe démarre un thread de lecture sur le stream
>> - La classe traite les données reçues
>> - La classe envoie un évènement ( données réceptionnées ) avec l'objet
>> de la réception
>> - Le thread est stoppé
>> - L'application gère l'évènement
>> - L'interface s'adapte aux données reçues
>>
>> J'ai le sentiment que cette méthode n'est pas du tout
>> professionnelle..
>>
>>
>> David Scime
>>
>


C'est un protocol qui ne fait que répondre au demandes et qui notifie
la fin de son message, genre pop ou nntp.
Ce n'est pas un protocol du genre irc qui envoie des données n'importe
quand..
Pas de surprises donc..

David Scime




C'est très aimable à toi. Mais il existe aussi SMTP ... qui envoie des trucs
pleins de surprises. C'est un protocole par étape. Ta vision des choses est
correcte si c'est un tel protocole. Mais si c'est autre chose, cela signifie
que cela supporte l'asynchrone ... comme les MSPx alors dans ce cas de
figure c'est un peu différent... Alors est-ce du synchrone ou de
l'asynchrone ?

Merci

Bismark





Je te remercie pour ta réponse bismark..

Et quant aux MSNPx qui est plutot asynchrone, que conseilles-tu comme
architecture?

David Scime

Avatar
Bismark Prods
Hello,

...

Je te remercie pour ta réponse bismark..

Et quant aux MSNPx qui est plutot asynchrone, que conseilles-tu comme
architecture?

David Scime




Personnellement, j'utilise exactement la même architecture que celle de mon
serveur POP. Un objet dispatcheur et des threads d'écoute et de dialogue.
C'est l'architecture qui me semble etre la plus efficace.

Pour le synchrone ton architecture est bonne. Il n'y a pas de miracle je
dirais. Comme pour SMTP.. :
1) on se connecte
2) on attend une réponse
3) on s'identifie
4) on attend une réponse
5) etc on envoie des commandes
6) etc on attends des réponses .. positives ou négatives et on agis en
conséquence

Ca semble barbant mais il n'y pas d'autre solution à ma connaissance. Toutes
les implémentations de ce type de protocole que j'ai vu sont semblables.

Bonne prog'

Bismark
Avatar
David Scime
Le Thu, 12 Aug 2004 13:33:37 +0200, "Bismark Prods"
<xanaia#nospam#@urbanet.ch> a écrit :

Hello,

...

Je te remercie pour ta réponse bismark..

Et quant aux MSNPx qui est plutot asynchrone, que conseilles-tu comme
architecture?

David Scime




Personnellement, j'utilise exactement la même architecture que celle de mon
serveur POP. Un objet dispatcheur et des threads d'écoute et de dialogue.
C'est l'architecture qui me semble etre la plus efficace.

Pour le synchrone ton architecture est bonne. Il n'y a pas de miracle je
dirais. Comme pour SMTP.. :
1) on se connecte
2) on attend une réponse
3) on s'identifie
4) on attend une réponse
5) etc on envoie des commandes
6) etc on attends des réponses .. positives ou négatives et on agis en
conséquence

Ca semble barbant mais il n'y pas d'autre solution à ma connaissance. Toutes
les implémentations de ce type de protocole que j'ai vu sont semblables.

Bonne prog'

Bismark





Ok je te remercie pour tes conseils


David Scime