Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD8]Socket lit

8 réponses
Avatar
Eric LAURENT
Bonjour,

Je dois communiquer avec un périphérique via Sockets.
En émission, j'utilise la fonction SocketEcrit sans problème, par contre,
lors de la réception, le message reçu par la fonction SocketLit est
incomplet.
J'ai vérifié le point en remplaçant le périphérique par un ordinateur.
Si j'envoie la chaine :
caract(94)+caract(32)+caract(1)+caract(6)+caract(1)+caract(215)+caract(112)
Je ne reçois que: caract(94)+caract(32)

Pour recevoir la chaine complète, il faut que j'indique le paramètre:
SocketChangeModeTransmission(NomCnx, SocketMarqueurFin)

Mais là, la chaîne envoyée est complétée par le marqueur de fin (quel qu'il
soit) et mon périphérique ne comprend plus la commande envoyée.

Je pense que les fonctions Windev font du filtrage de caractères.
Si quelqu'un a une idée ou une solution pour se passer des fonctions Windev,
je suis preneur.
Merci d'avance.

--
Eric LAURENT
Supprimer NoSpam.
NoSpam.laurent.systel@wanadoo.fr
--

8 réponses

Avatar
farplus
Eric LAURENT a formulé la demande :
Bonjour,

Je dois communiquer avec un périphérique via Sockets.
En émission, j'utilise la fonction SocketEcrit sans problème, par contre,
lors de la réception, le message reçu par la fonction SocketLit est
incomplet.
J'ai vérifié le point en remplaçant le périphérique par un ordinateur.
Si j'envoie la chaine :
caract(94)+caract(32)+caract(1)+caract(6)+caract(1)+caract(215)+caract(112)
Je ne reçois que: caract(94)+caract(32)

Pour recevoir la chaine complète, il faut que j'indique le paramètre:
SocketChangeModeTransmission(NomCnx, SocketMarqueurFin)

Mais là, la chaîne envoyée est complétée par le marqueur de fin (quel qu'il
soit) et mon périphérique ne comprend plus la commande envoyée.

Je pense que les fonctions Windev font du filtrage de caractères.
Si quelqu'un a une idée ou une solution pour se passer des fonctions Windev,
je suis preneur.
Merci d'avance.

--
Eric LAURENT
Supprimer NoSpam.




Bonjour,

Essaie avec
SocketChangeModeTransmission(NomCnx, SocketSANSMarqueurFin)

et tiens-nous au courant
A+

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Eric LAURENT
farplus a écrit:

--
Eric LAURENT
Supprimer NoSpam.




Bonjour,

Essaie avec
SocketChangeModeTransmission(NomCnx, SocketSANSMarqueurFin)

et tiens-nous au courant
A+



Merci de t'intéresser à mon problème.
Je n'avais pas précisé mais, c'est justement avec l'option
SocketSansMarqueurFin que les trames sont tronquées.
Une autre piste ?

--
Eric LAURENT
Supprimer NoSpam.

--
Avatar
farplus
Eric LAURENT a présenté l'énoncé suivant :
farplus a écrit:

--
Eric LAURENT
Supprimer NoSpam.




Bonjour,

Essaie avec
SocketChangeModeTransmission(NomCnx, SocketSANSMarqueurFin)

et tiens-nous au courant
A+



Merci de t'intéresser à mon problème.
Je n'avais pas précisé mais, c'est justement avec l'option
SocketSansMarqueurFin que les trames sont tronquées.
Une autre piste ?

--
Eric LAURENT
Supprimer NoSpam.




Bien,
il semble qu'on rentre dans une zone de turbulence ...
Selon l'aide de WD8, si on n'indique rien le caractère de fin de chaîne
est EOF soit caract(4) qui n'est pas présent dans la châine mentionnée,
alors quelques questions:

1) as-tu essayé sans rien ?
2) ton périphérique c'est quoi au fait ?
3) il a quel type de liaison avec ton PC ?

A+

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Eric LAURENT
farplus a écrit:

Bien,
il semble qu'on rentre dans une zone de turbulence ...
Selon l'aide de WD8, si on n'indique rien le caractère de fin de
chaîne est EOF soit caract(4) qui n'est pas présent dans la châine
mentionnée, alors quelques questions:

1) as-tu essayé sans rien ?


Oui j'ai essayé entre autres les paramêtres suivants:
SocketChangeModeTransmission(NomCnx",SocketMarqueurFin,"")
SocketChangeModeTransmission(NomCnx,SocketMarqueurFin,Null)

2) ton périphérique c'est quoi au fait ?


Il s'agit d'une interface RS232 sur IP

3) il a quel type de liaison avec ton PC ?


Liaison IP avec port d'émission et réception

--
Eric LAURENT
Supprimer NoSpam.

--
Avatar
farplus
Le 29.04.2004, Eric LAURENT a supposé :
farplus a écrit:

Bien,
il semble qu'on rentre dans une zone de turbulence ...
Selon l'aide de WD8, si on n'indique rien le caractère de fin de
chaîne est EOF soit caract(4) qui n'est pas présent dans la châine
mentionnée, alors quelques questions:

1) as-tu essayé sans rien ?


Oui j'ai essayé entre autres les paramêtres suivants:
SocketChangeModeTransmission(NomCnx",SocketMarqueurFin,"")
SocketChangeModeTransmission(NomCnx,SocketMarqueurFin,Null)



et avec le mode par defaut (sans SocketChangeModeTransmission )?

2) ton périphérique c'est quoi au fait ?


Il s'agit d'une interface RS232 sur IP



c'est quoi, une imprimante, une caisse, un lecteur-graveur de carte,
une douchette ?

tu peux la mettre sur un port série ?

3) il a quel type de liaison avec ton PC ?


Liaison IP avec port d'émission et réception

--
Eric LAURENT
Supprimer NoSpam.




--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Eric LAURENT
En fait, le problème est que la fonction Windev SocketLit fait un filtrage
des caractères.
Je souhaiterais une solution pour me passer des fonctions Windev et utiliser
directement les API.
Une idée ?

--
Eric LAURENT
Supprimer NoSpam.

--
Avatar
farplus
Eric LAURENT a pensé très fort :
En fait, le problème est que la fonction Windev SocketLit fait un filtrage
des caractères.
Je souhaiterais une solution pour me passer des fonctions Windev et utiliser
directement les API.
Une idée ?

--
Eric LAURENT
Supprimer NoSpam.




vas sur le site www.allapi.net
et décharge l'api-guide (agsetup.exe); c'est un excellent outil pour
ton pb.

--
Ceci est une signature automatique de MesNews.
Site : http://mesnews.no-ip.com
Avatar
Eric LAURENT
farplus a écrit:

vas sur le site www.allapi.net
et décharge l'api-guide (agsetup.exe); c'est un excellent outil pour
ton pb.



Ok merci.
Je vais fouiller, ce site n'a pas l'air mal du tout.

--
Eric LAURENT
Supprimer NoSpam.

--