|
| SocketClientInfo toujours pas supportée en Linux?!?! |
| Iniciado por support, 15,dic. 2015 09:43 - 12 respuestas |
| |
| | | |
|
| |
| Publicado el 15,diciembre 2015 - 09:43 |
Bonjour,
Quelqu'un aurait-il une idée pour récupérer les informations fournies par la commande SocketClientInfo (Adresse IP / Port) sous LINUX puisque cette dernière n'est pas supportée pour cet OS?
Si mes souvenirs sont bons, les sockets sont disponibles depuis la version 9 et cette commande n'est toujours pas supportée en version 21 pour LINUX...
C'est vraiment dommage puisque les informations qu'elle renvoi sont très utiles pour créer un serveur un tant soit peu sécurisé... (Notamment en terme de rejet d'adresse IP appelante).
Bref, je suis bloqué sans cette p****n de commande.
Une idée? |
| |
| |
| | | |
|
| | |
| |
| Publicado el 20,febrero 2016 - 21:57 |
Le 15/12/2015 08:43, Franck a écrit :
Quelqu'un aurait-il une idée pour récupérer les informations fournies par la commande SocketClientInfo (Adresse IP / Port) sous LINUX puisque cette dernière n'est pas supportée pour cet OS?
Allons plus loin : Sous LINUX, je souhaite utiliser les sockets UDP : Pas de problème, me dis-je, puisque la fonction SocketCrééUDP est supportée sous cet OS...
Sauf que la documentation mentionne :
"Lors d'une lecture par le protocole UDP, la provenance de la chaîne lue est inconnue. Elle peut être connue avec la fonction SocketClientInfo"
Comment pourrait-on connaitre la provenance de la chaine lue avec un fonction qui n'existe pas? Hein?
De plus, il sera très difficile de répondre à un message UDP sans connaitre l'adresse de son émetteur...
N'importe quoi donc... |
| |
| |
| | | |
|
| | |
| |
| Publicado el 18,octubre 2016 - 09:42 |
Quelle réactivité! Rien de prévu dans la version 22. Sans moi donc. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 07,noviembre 2017 - 07:12 |
Version 23 - 2018
Cette fonction n'est toujours pas disponible en mode Linux et elle est également oubliée de la nouveauté 234 et de son doublon 878 (Fonctions "Socket" sous UWP).
 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 07,noviembre 2017 - 18:05 |
| Avez vous contacté le support technique? |
| |
| |
| | | |
|
| | |
| |
| Publicado el 08,noviembre 2017 - 07:31 |
ROMULUS001 a écrit :
> Avez vous contacté le support technique?
La dernière réponse du ST était du genre "Malheureusement cette commande n'est pas disponible sous Linux, nous vous conseillons de déployer en Java". Comme je ne veux pas faire du Java mais un deamon natif, je ne réitèrerais même pas ma demande cette année (Histoire de gagner 10 fois plus de temps).
L'absence de la commande SocketClientInfo sous Linux est une pure abérration au regard de la présence de la commande SocketCrééUDP!
En effet, lors d'une écriture utilisant le protocole UDP, il est nécessaire de préciser la destination (adresse et port de destination). De même, lors d'une lecture par le protocole UDP, la provenance de la chaîne lue est inconnue. Seule la fonction SocketClientInfo permet d'obtenir l'information nécéssaire pour "préciser la destination".
Donc, en l'état actuel des choses, les sockets UDP ne sont pas exploitables sous Linux et sur tous les autres plateformes qui ne la proposent pas. |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 10,noviembre 2017 - 17:34 |
| Je pense que vous pouvez faire appel à la console pour ce genre de traitement, je dirais que vous vous servir de la fonction wlangage LanceAppli, à tester |
| |
| |
| | | |
|
| | |
| |
| Publicado el 12,noviembre 2017 - 21:17 |
ROMULUS001 a écrit :
> Je pense que vous pouvez faire appel à la console pour ce genre de traitement, je dirais que vous vous servir de la fonction wlangage LanceAppli, à tester
Je ne pense pas mais si tu as une recette magique, je serais assez curieux d'y goûter  |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 352 mensajes |
|
| Publicado el 13,noviembre 2017 - 10:33 |
| |
| |
| | | |
|
| | |
| |
| Publicado el 14,noviembre 2017 - 22:33 |
ROMULUS001 a écrit :
Et comment tu cherches ton information lorsque tu as 100 sockets actives, sachant qu’elles sont identifiées par un nom interne à WD et que dans ta console Il n’y a aucune information qui puisse les différencier / identifier?
C’est juste impossible. |
| |
| |
| | | |
|
| | |
| |
| Publicado el 04,octubre 2019 - 08:22 |
| |
| |
| | | |
|
| | |
| |
Miembro registrado 117 mensajes |
|
| Publicado el 04,octubre 2019 - 09:46 |
pourquoi ne pas tout simplement transmettre l'adresse ip de l’émetteur du message dans la fonction socketécrit() ?
exemple :
Message est une chaîne = NetAdresseIP() + "|" + "ceci est mon message"
SI SocketEcrit("Serveur", Message) = Vrai ALORS Message("message envoyé") FIN
et pour socketLit() :
TANTQUE SocketExiste("MonSocket") = Vrai
sMsg est une chaîne = SocketLit("MonSocket", Vrai)
SI sMsg <> "" ALORS
IpContact est une chaîne = ExtraitChaîne(sMsg, 1, "|")
FIN FIN
'fin, là, c'est simplifié mais le concept est là ^^ |
| |
| |
| | | |
|
| | |
| |
| Publicado el 10,octubre 2019 - 07:21 |
Bonjour,
> pourquoi ne pas tout simplement transmettre l'adresse ip de l’émetteur du message dans la fonction socketécrit() ?
Quand tu codes un application "propriétaire", il y a toujours moyen de contourner les manques d'un outil.
En revanche, lorsque tu codes une application qui doit respecter un protocole existant et qui s'appuie sur plusieurs RFC, tu ne peux pas faire ce genre de "bricolage".
Une fonction qui récupère l'adresse et le port de connexion distant, c'est juste le minimum syndical qu'un langage de programmation digne de ce nom se doit de proposer... |
| |
| |
| | | |
|
| | | | |
| | |
|