Bonjour à tous, c'est encore moi
J'ai encore 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.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
c'est mon programme 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.