gps 추적 시스템에서 작업 중이며 js 노드에 서버를 구축했습니다. 파일을 참조하는 방법입니다.동일한 서버에서 tcp/ip 원시 요청 및 http 요청을 처리하는 방법
const net = require('net');
const lora_packet = require('lora-packet');
const dataParser = require('./dataParser');
const clients = [];
net.createServer(function(socket) {
socket.name = socket.remoteAddress + ":" + socket.remotePort;
clients.push(socket);
socket.on('data', function(data) {
console.log("Buffer sent by terminal : ");
console.log(data);
const packet = lora_packet.fromWire(data, 'hex');
const str = packet._packet.PHYPayload.toString('hex');
dataParser.parse_data(str, socket);
});
socket.on('end', function() {
clients.splice(clients.indexOf(socket), 1);
//broadcast(socket.name + "has left the cartel.\n");
});
function broadcast(message, sender) {
clients.forEach(function(client) {
if (client === sender) client.write(message + "\nsent\n");
return;
client.write(message);
});
process.stdout.write(message);
}
}).listen(8080);
console.log("cartel is running on the port 8080\n");
이 서버 파일은 하드웨어의 요청 만 처리하고 원시 tcp/ip 요청을 처리합니다.
서버가 http 요청도 처리하도록하고 서버의 라우팅 기능을 브라우저의 클라이언트 측 응용 프로그램에도 통합하려고합니다.
1) HTTP 요청을 동일한 서버에서 처리 할 수있는 방법이 있습니까? 아니면 다른 포트를 열고 고속 노드 js 응용 프로그램을 배포해야합니까?
2) http에 대해 동일한 8080 포트를 사용하면 어떻게 라우팅 할 수 있습니까?
3) http 및 raw tcp/ip에 다른 포트를 사용하는 경우 두 서버 간의 통신에 가장 적합한 방법은 무엇입니까? tcp/ip 서버와 http 서버 사이의 통신은 소켓 (데이터를 동적으로 전송)을 통해 이루어져야합니다. HTTP 서버에서
소켓을 사용하여 데이터가 실시간 위치를
그래서 흐름 권리가 업데이트 동적으로 브라우저로 확인할 수있다?
하드웨어 (< ---->) TCP/IP 서버 (< --->) HTTP 서버 (< --->) 브라우저
자세한 내용은 쿼리를 해결하기 위해 필요한 경우 나 ' 그것을 제공 할 것입니다!
는
클라이언트를 express.js 앱에서 어떻게 처리하고 하드웨어 장치를 TCP/IP 서버에서 처리 할 수 있습니까? 소켓간에 일정하고 낮은 지연의 데이터 흐름을 유지하려면 어떻게해야합니까? 두 서버간에 데이터를 전달하는 방법과 웹 브라우저에서 적절한 클라이언트로 패킷을 식별하는 방법은 분명하지 않습니다. 또한 데이터베이스에 데이터를 먼저 저장해야합니까? 단일 소켓 인스턴스에서 작업했지만 다른 서버에서 두 소켓 인스턴스를 유지 관리하는 방법이 아닙니다. –