question bête, vu que tu as un réseau de classe B, as-tu un routeur entre le tablette et le PC qui empêcherait le routage des broadcast UDP ?
question bête, vu que tu as un réseau de classe B, as-tu un routeur entre le tablette et le PC qui empêcherait le routage des broadcast UDP ?
J'ai pensé à cette possibilité, mais si le routeur empêchait le routage UDP, ça ne fonctionnerait pas sous Windows XP non?
il y a une façon simple de le savoir avec ce code
si je lance ça sur mon PC j'obtient ceci
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 uses IdBaseComponent, IdComponent, IdUDPBase, IdUDPClient, IdGlobal; type TUDPThread = class(TThread) procedure Execute; override; end; procedure TUDPThread.Execute; var UDP: TidUDPClient; Str: string; begin UDP := TidUDPClient.Create(nil); UDP.BoundPort := 2020; UDP.BroadcastEnabled := True; UDP.ReuseSocket := rsTrue; UDP.Active := True; repeat Str := UDP.ReceiveString(); if Str <> '' then Synchronize( procedure begin Form1.Memo1.Lines.Add(Str); end ); until Terminated; end; procedure TForm1.FormCreate(Sender: TObject); begin TUDPThread.Create(False); end;
démarrage du serveur sur le PC également :
TetheringNewManager|EMPTYTOKEN|0|{7DBCE1F9-C6D2-46E4-B3DF-14E93C4F5C9B}|MediaReceiverManager|MediaReceiverManager|2021~
on remarque que le serveur s'est mis sur 2021, Tethering utilise le premier port disponible entre 2020 et 2039, comme j'utilise le 2020, le serveur a pris le 2021
fermeture du serveur:
TetheringShutdown|192.168.56.1$2021|0|{7DBCE1F9-C6D2-46E4-B3DF-14E93C4F5C9B}~
c'est là (entre autre) que l'adresse n'est pas bonne en fait
bouton refresh de la tablette:
TetheringDiscoverManagers|192.168.0.27$2020|0|2020~
tient d'ailleurs je constate que je ne reçois pas cette notification quand je lance l'appli...je dois cliquer sur le bouton refresh.
si le problème vient de là tu peux utiliser un Timer qui tant que la tablette n'a pas trouver de "mur", relance un FindWalls
J'ai testé ton code sur Windows 7 et le Samsung S4, voici ce que j'obtiens :
Et à chaque fois que je refresh :TetheringNewManager|EMPTYTOKEN|0|{80E0D878-9936-E511-A35C-E1E996BFAA7F}|TakePhotoManager|TakePhotoManager|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
On dirait que la communication passe bien pourtant, pourquoi je ne reçois pas l'information sur le mobile? On ne doit pas être loin....
Nota: le même test sous XP
TetheringNewManager|EMPTYTOKEN|0|{04186490-9F36-E511-B442-513529E772EF}|TakePhotoManager|TakePhotoManager|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
TetheringDiscoverManagers|192.168.0.167$2020|0|2020~
tu obtiens quoi comme message à la fermeture du serveur (c'est pour voir l'adresse qu'il communique)
c'est surprenant, il devrait y avoir un TetheringShutdown...
tient...TakePhotoManager c'est pas le même que moi, MediaReceiverManager...c'est bien la démo PhotoWall sous XE8 ?
oui oui, dans :
C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Object Pascal\RTL\Tethering\PhotoWall
Quand je lance l'appli mobile sur le PC sous XP et 7, à la fermeture j'ai bien un TetheringShutdown, par contre depuis le Samsung S4, rien
Client Win 7 - Serveur Win XP :
TetheringShutdown|192.168.0.161$2021|0|{E98E19EA-C53B-477A-860D-5A5C51BE669E}~
Client Win XP - Serveur Win 7 :
Aucune communication
Client Win XP ou Win 7 - Serveur Samsung S4 :
Communication OK, mais pas de Shutdown
Je ne sais absolument pas ce qui s'est passé, j'étais en train de reprogrammer un mini projet avec TetheringApp quand soudain la communication est passée entre Win7 et WinXP.
Voyant ça, je décide de re-tester photowall avec le samsung S4, et là miracle, ça marche!
Je n'y comprends rien...
Je crois avoir trouvé, lorsqu'on exécute l'application côté PC, le firewall nous demande d'autoriser l’application à communiquer sur le réseau. Par précaution je cochais les 2 cases, me disant que si j'autorise tout je n'aurais pas de problème pour mes tests, or, si je ne laisse coché QUE la première case ça marche, alors qu'avec les 2 non...
Bonjour,
j'ai dû faire une pause avec ce projet mais me revoilà. L'histoire du firewall n'a rien réglé du tout en réalité. Je vous fait part de mon expérience en espérant qu'elle aide d'autres personnes.
Donc pour résumer PhotoWall ne fonctionne pas avec Windows 7 et le Samsung S4. Je décide d'analyser les trames réseau avec Wireshark. J'observe que Photowall envoie des trames broadcast UDP et balaye les ports 2020 à 2039. Sur le technet de Microsoft on apprend que Windows 7 bloque les trames UDP en 255.255.255.255.
Comme conseillé je désactive les règles du firewall "Découverte de réseau (UDP-Entrée)" et "Découverte de réseau (UDP-Sortie)". Le problème est toujours là, aucune connexion entre les 2 applis.
Puis je tombe sur une trame TCP intéressante :
Mais quelle est donc cette adresse IP?
Je désactive cette carte VirtualBox, je relance le tout et Ô miracle ça marche !!!
Pour je ne sais quelle raison PhotoWall tente la connexion avec cette carte au lieu de prendre la bonne, ma question est maintenant la suivante: est-il possible de résoudre le problème sans désactiver cette carte VirtualBox (qui me sert)?
en même temps, si tu ne lis pas mes interventions...j'ai relevé cette anomalie ici
et donc le problème c'est que Tethering ne bind pas l'adresse IP, il utilise INADDR_ANY sur un port donné...du coup c'est une adresse IP au pif qui est utilisée et ça ne fonctionnera pas.
j'ai remonté le bug chez Embarcadero (officiellement, car avant je l'avais déjà fait sur G+)
Salut Paul, effectivement en relisant ton intervention je comprends mon erreur, mais sur le coup je n'avais pas bien compris. Ces dialogues UDP sont un peu nouveaux pour moi, méa culpa...
En espérant que ce bug soit pris en compte, merci encore
Il a à vivre sa vie comme ça et il est mûr sur ce mur se creusant la tête : peut–être qu'il peut être sûr, etc.
Oui, je milite pour l'orthographe et le respect du trait d'union à l'impératif.
Après avoir posté, relisez-vous ! Et en cas d'erreur ou d'oubli, il existe un bouton « Modifier », à utiliser sans modération
On a des lois pour protéger les remboursements aux faiseurs d’argent. On n’en a pas pour empêcher un être humain de mourir de misère.
Mes 2 cts,
--
jp
Il faut savoir que cette interface VirtualBox me fait planter PhotoWall sur le S4. Il doit tenter une connexion sur cette carte et fini par s'arrêter.
En désactivant APIPA ce cas de figure n'existe plus, je peux rafraîchir, et donc relancer findWalls à tout moment, par contre la connexion ne se fait toujours pas.
Maintenant dans les trames TCP j'ai:Désactivation de APIPA:
http://www.windowstechinfo.com/2013/...rivate-ip.html
Code : Sélectionner tout - Visualiser dans une fenêtre à part TetheringServerDiscovered|EMPTYOK
Pour que cela fonctionne je dois toujours désactiver la carte VirtualBox.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager