Comment organiser mes sockets ?

Comment organiser mes sockets ? - C#/.NET managed - Programmation

Marsh Posté le 23-03-2006 à 09:34:25    

Bonjour,
 
Voilà mon probleme, je fais une application en vb.NET, qui recoit des donnees sur 3 ports différents, jusque là ca va bien j'ai 3 sockets udp qui écoute.
 

Code :
  1. clientUDP_1 = New UdpClient(CInt(PORT_RECEP1))
  2.         ThreadUDP_1 = New System.Threading.Thread(AddressOf Reception1)
  3.         ThreadUDP_1.Start()
  4.         clientUDP_2 = New UdpClient(CInt(PORT_RECEP2))
  5.         ThreadUDP_2 = New System.Threading.Thread(AddressOf Reception2)
  6.         ThreadUDP_2.Start()
  7.         clientUDP_3 = New UdpClient(CInt(PORT_RECEP3))
  8.         ThreadUDP_3 = New System.Threading.Thread(AddressOf Reception3)
  9.         ThreadUDP_3.Start()


 
Là ou ca se corse c'est qu'à chaque réception je dois envoyer une ou plusieurs trame, sachant qu'il peut y avoir réceptions simultanéés sur les 3 clients et tres fréquemment (toutes les 5 sec).
 
Comment je gere ça, puis-je envoyer sur le meme socket qui recoit ? ou je cree un socket uniquement destiné à l'emission, sachant que vu qu'il sera appelé par 3 threads differents je ne sais pas ce que ça va donner..  :??:  
 
Que peut il y avoir comme problèmes au niveau des buffers plein, etc, il me faudrait la solution la plus sure..
 
Merci d'avance pour votre aide.


Message édité par DarkAngel67 le 23-03-2006 à 10:37:24
Reply

Marsh Posté le 23-03-2006 à 09:34:25   

Reply

Marsh Posté le 23-03-2006 à 09:49:04    

confie une opération à un thread. La réception à un thread et l'envoie à un nouveau thread aussi chaque fois.

Reply

Marsh Posté le 23-03-2006 à 10:36:11    

??
J'ai oublie de préciser que ca doit etre du temps réel, je recois et j'emets aussitot. Dc les 3 receptions sont forcement sur 3 threads differents dc je comprends pas ton msg..

Reply

Marsh Posté le 23-03-2006 à 17:11:19    

si tu veux vraiment accélérer les choses, tu écoutes sur un port, et tu envoie avec un autre port. Sinon tu risques d'avoir peut etre des fils d'attente et ça peut ralentir ton programme temps réel.
 
Enfin c'est pas du totu mon domaine le temps réel, donc je ne saurais pas t'aider plus que ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed