Bonjour à tous,
J'ai une question, je fait mon projet 'suivre les cibles dans un réseaux de capteurs', en fait je doit observer comment les capteurs se communiquent, c'est a dire, observer les paquets envoyés entre eux, en ce moment, je doit créer un socket pour récupérer les paquets obtenus sous XServe (c'est un logiciel qui joue le rôle de serveur), en fait, il y a une station de base qui relie le portable via port USB, cette station permet de recevoir les paquets envoyé par les capteurs.
c'est mes programmes sous matlab:
----------------------------------------------------------------------
%capsec.m
function []=capsec()
%paramètres de connexion
bytecount = 13; % nb d'octets à recevoir avant callback
%création d'un objet TCP/IP
t = tcpip('localhost', 9001);
%spécifie la taille du buffer de réception
set(t, 'InputBufferSize', bytecount);
%définition des paramètres du callback
t.BytesAvailableFcnCount = bytecount;
t.BytesAvailableFcnMode = 'byte';
t.BytesAvailableFcn = @callback;
while(1)
%la connexion avec le serveur
fopen(t);
%on attend la réception du code d'identification de la station de base
while t.BytesAvailable==0
end
fread(t,t.BytesAvailable); % lecture bidon pour vider le buffer
pause(.2)
%on transmet le code d'identification au serveur
%(mica2 avec protocole de connection version 1)
fprintf(t, 'T');
%tempo attente réception
pause(.5)
%déconnexion et fermeture de la connexion
fclose(t);
end
delete(t);
clear t
--------------------------------------------------------------------------
%callback.m
function callback(obj,event)
%boucle principale de traitement
data = fread(obj,obj.BytesAvailable)'
-------------------------------------------------------------------------
mais le problème est que avec le programme de matlab j'arrive pas de récupérer tous les paquets obtenus sous XServe, je ne trouve toujours pas la solution, si vous avec une idée, merci de me dire, svp.
-----