PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Socket sous mobile [version 23]
Socket sous mobile [version 23]
Débuté par jérôme, 06 fév. 2018 08:22 - 7 réponses
Membre enregistré
34 messages
Popularité : +1 (1 vote)
Posté le 06 février 2018 - 08:22
Bonjour,
Dans le but de détecter si je suis bien sur le réseau d'un de mes serveurs ainsi que pour retrouver son ip j'aimerai faire 2-3 petites choses mais je reste bloqué depuis plusieurs jours:


-J'utilise actuellement l'adresse 255.255.255.255 comme broadcast UDP pour voir qui me répond et en Android grâce à la fonction SocketClientInfo() je détermine leurs adresses. En IOS et en UWP il n'existe pas d'équivalent à cette fonction (ou je suis passé à cotes?).

-Mon serveur envoie régulièrement des trames UDP en broadcast lorsqu'il y a un changement de configuration pour prévenir les clients de se mettre à jour. mais de nouveau je ne sais pas qui envoie cette trame en IOS et UWP s'il y a plusieurs serveur sur le réseau.

-En UWP windows l'adresse 255.255.255.255 semble bloquée sur PC (fonctionne sur mobile à première vue), j'aimerai donc utiliser l'adresse de broadcast du sous réseau: 192.168.1.255 par exemple mais je ne trouve pas comment la trouver sans netAdresseIP.

Voilà en gros les problèmes que je rencontre, j'ai essayé de les contourner tant que possible mais là j'arrive aux limites de l'utilisable sans ces fonctions.
En IOS j'ai en tête de faire un ensemble de procédures en objective-C pour les socket avec lecture de l'ip local et vérification de qui retourne le message mais il y a peut être plus simple?
En Universal Windows Protocole je n'ai pas trouvé comment utiliser du code natif et les dll .net ne semblent pas utilisable. une idée? :|

Merci à vous.
Membre enregistré
34 messages
Popularité : +1 (1 vote)
Posté le 12 février 2018 - 14:47
Bon, j'ai laissé tomber Windows protocole. en tout cas en windev mobile.
Pour IOS il me reste par contre le problème:

-impossible de savoir de qui vient la trame UDP -> je peux pas répondre

Personne n'a d'idée?
Membre enregistré
151 messages
Popularité : +7 (7 votes)
Posté le 13 février 2018 - 14:02
Bonjour,

pour connaitre l'IP d'une réponse UDP il faut utiliser "SocketClientInfo", mais cette fonction est indisponible en iOS, ce qui rend l'utilisation d'UDP quasi-impossible avec WinDev Mobile.

Selon les trames UDP reçues il se peut parfois que l'adresse IP de l'émetteur soit contenue dans le buffer reçu, comme par exemple avec le SSDP.

Concrètement, quel usage faites-vous de l'UDP dans votre projet ?
Membre enregistré
34 messages
Popularité : +1 (1 vote)
Posté le 15 février 2018 - 15:00
Bonjour et merci pour votre réponse.

Je communique entre des micro-processeur embarqué et une application sur tablette (Android et IOS), Tout fonctionne lorsqu'il n'y a qu'un carte sur le réseau mais dès qu'il y en a deux (et ça devrait souvent être le cas) le problème se pose.
en fait il s'agit d'une application permettant de configurer le micro-processeur par rapport à son environnement. le code embarqué a été écris en C est j'ai accès aux sources mais je ne peux malheureusement pas les modifier pour raison de compatibilités... sinon j'aurai bien encapsulé ma trame dans une structure avec l'ip en première position.

J'ai en tête actuellement d’écrire une librairie en obj-c me permettant d'utiliser les sockets en code natif, est-ce viable selon vous ou y a-t-il une autre solution envisageable?
Membre enregistré
151 messages
Popularité : +7 (7 votes)
Posté le 15 février 2018 - 16:12
Bonjour Jérôme,

Je ne vois hélas pas vraiment d'autre solution que de passer par du code en Objective-C pour la version iOS, notez que vous pouvez directement écrire ce code dans l'application WinDev Mobile.

Bon courage !
Posté le 19 février 2018 - 11:07
J'ai vu oui que l'on pouvait le faire. Il m'ait déjà arrivé de faire du java dans la configuration Androïde.
Je vais suivre le même principe donc...

Merci à vous.
Membre enregistré
34 messages
Popularité : +1 (1 vote)
Posté le 19 février 2018 - 11:09
Gaël a écrit :
Bonjour Jérôme,

Je ne vois hélas pas vraiment d'autre solution que de passer par du code en Objective-C pour la version iOS, notez que vous pouvez directement écrire ce code dans l'application WinDev Mobile.

Bon courage !


J'ai déjà fait cela pour du code en java dans la configuration Androïd, je suivrai le même principe mais ça sera bien plus lourd à faire que ce que j'ai fais jusque là...
Merci pour votre temps.
Membre enregistré
34 messages
Popularité : +1 (1 vote)
Posté le 25 avril 2018 - 15:35
**ecris trop vite sry**
Message modifié, 25 avril 2018 - 15:47