Bonjour,

J'ai un problème concernant l'implémentation d'une communication entre un serveur node.js et un appareil. J'utilise la librairie net de node qui offre un port de communication TCP de type client.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
var net = require('net');
 
var HOSTPLC = '192.168.45.120';  //Adresse de l'appareil. 
var PORTPLC = 9600;	//Port de communication.
 
var client = new net.Socket(););
Le problème est que lorsque je bâti mes commandes pour le protocole de communication spécifique à l'appareil et que je les envois à l'aide de ex :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
client.write(sFinsCmdRead);
la fonction ajoute automatiquement des valeurs non désirées à chaque 16 valeur hex ( observé à l'aide d'un analyseur de protocol réseau) ce qui viens créer une erreur dans l'interpréteur de l'appareil. La valeur envoyé est C2:

Ex:
46:49:4e:53:00:00:00:1a:00:00:00:02:00:00:00:00:c2:80:00:02:00:78:00:00:ef:bf:bd:00:00:01:01:c2:82:00:64:00:00:01
Mes questions : Est-ce qu'il y a moyen de définir la dimension de trames envoyés ou sinon d'éliminer la composante C2 dans le code de node ? Pour ce faire, où dois-je regarder ?

L'objectif initiale étais de communiquer directement entre la page hml5 et l'appareil mais comme c'est pas possible, j'utilise le serveur node coté client pour interagir avec l'appareil. Est-ce que l'idée de base est valable ?

Merci à tous pour votre aide.