J'ai une application dans vb.net qui va se connecter avec un périphérique matériel et tester ses fonctionnalités. Le périphérique matériel recrache essentiellement des données continuellement via Ethernet. C'est-à-dire qu'il reçoit certaines données via les ports COM et crache les données traitées via Ethernet.travail des sockets tcpclient dans vb.net
Donc, mon application fait les deux. C'est à peu près toute l'application.
Mon problème est que j'utilise tcpclient sockets. Maintenant, quand je connecte un tcpclient à l'appareil en utilisant
tcpclient.open(ip,port);
immédiatement l'appareil envoie des données qui vient et sont stockés dans le ClientSocket. Puis j'envoyer une commande à elle, alors seulement je lis les données du ClientSocket en utilisant
tcpclient.getstream().read()
à ce moment l'ensemble des données qui est celui qui a coulé immédiatement lorsqu'il est connecté au dispositif et celui que je réellement besoin après avoir passé la commande est à la fois acquise. Ceci est indésirable. J'ai besoin des données que je lis seulement après avoir envoyé la commande.
Alors je me demandais s'il y avait un moyen d'effacer le socket tcpclient avant de faire une lecture. Le manuel ne montre pas une telle méthode.
Toute aide sur ce serait utile pour moi.
grâce trouvé après que j'ai posté la question – swordfish