안녕하세요
WIZ750sr을 이용해 개발 중 node.js를 이용해 컴퓨터로 데이터를 수신하니 log확인 결과 데이터에 임의로 개행문자가 입력되는 상황이 발생합니다
이더넷 모듈이 하나의 문자열 데이터를 여러 조각으로 쪼개어 전송하기 때문이라고 생각이 드나, 데이터 전처리에 불편함이 존재해 원인이나 해결책이 있을지 문의드립니다
(1) 정상 데이터
0 1234567890 1234567890 1234567890 1234567890 1234567890
1 1234567890 1234567890 1234567890 1234567890 1234567890
…
(2) log내 수신 데이터
0 1234567890 123
456789
0 12345
67890
1234567
890 12
345678
90
[서버용 node.js 코드]
var net = require('net'),
sockets = [];
var url = require('url');
var fs = require('fs');
var mime = require('mime');
var path = require('path');
var requestSend = require("request");
// var mysql = require("mysql2/promise");
// var multer = require('multer');
var result = false;
global.result = result;
var server = net.createServer(function (client) {
client.setEncoding('utf8');
client.setTimeout(100);
client.on('data', function (data) {
// console.log(data);
console.log(data);
//client.write('SENT');
// if(res != 0) client.write('SUCCESS'); else client.write('FAIL');
});
client.on('timeout', function () {});
client.write('SOCKET OPENED'); // 아두이노 시리얼에서 나타남
client.on('error', function () {
//console.log(`error`);
});
client.on('close', function () {
sockets.pop();
console.log(' close ');
});
//if(res != 0) client.write('SUCCESS'); else client.write('FAIL');
});
server.on('error', function (error) {
});
server.listen(5001,'192.168.11.10', function () {
var serverInfo = server.address();
console.log('listen server 1: ' + serverInfo);
var serverInfoJson = JSON.stringify(serverInfo);
console.log('listen server 2: ' + serverInfoJson);
server.on('close', function () {
console.log('server closed.');
});
server.on('connection', function () {
console.log(`WELCOME`);
});
});
감사합니다