2016-08-31 6 views
1

Ich entwickelte die COAP-API in Java. Es funktioniert gut. Beispiel-URL: coap: // localhost: 5683/test-url. Diese API wird die Verwendung von elektronischen Geräten auslösen.COAP API Auslöser mit Knoten js

Ich habe ein anderes Projekt in nodejs entwickelt. Aber ich möchte die COAP API durch Knoten js auslösen.

Ich folgte dieser URL. node-coap aber es funktioniert nicht. Bitte jemand schlägt mich vor.

const coap = require('../') // or coap 
    , server = coap.createServer() 

server.on('request', function(req, res) { 
    res.end('Hello ' + req.url.split('/')[1] + '\n') 
}) 

// the default CoAP port is 5683 
server.listen(function() { 

    var req = coap.request('coap://localhost:5683/test-url'); 
    req.on('response', function(res) { 
    res.pipe(process.stdout) 
    res.on('end', function() { 
     process.exit(0) 
    }) 
    }) 

    req.end() 
}); 

Fehlerdetails:

Error: bind EADDRINUSE 0.0.0.0:5683 
    at Object.exports._errnoException (util.js:893:11) 
    at exports._exceptionWithHostPort (util.js:916:20) 
    at dgram.js:221:18 

Antwort

0

Die Fehlermeldung EADDRINUSE zeigt an, dass der Port (5683), die bereits in Gebrauch ist. Sie können entweder den Port ändern oder den auf 5683 ausgeführten Prozess beenden und versuchen, Ihre Anwendung neu zu starten.

für mich
var PORT = 3000; 
server.listen(PORT, function() { 

    var req = coap.request('coap://localhost:5683/test-url'); 
    req.on('response', function(res) { 
    res.pipe(process.stdout) 
    res.on('end', function() { 
     process.exit(0) 
    }) 
    }) 

    req.end() 
}); 
+0

Ja. Ich habe versucht, in lcoal Node-Projekt die Dev-URL wie geändert - coap: //api-test.com: 5683/test-url. aber gleicher Fehler – RSKMR

+0

Nicht so. Sie sollten den Port Ihrer Node-Coap-Anwendung ändern. Ich habe das Code-Snippet zur Antwort hinzugefügt –

+0

hast du dieses @RSKMR gelöst? –

0

Der folgende Code funktioniert:

Sie können den Port wie unten ändern.

var coap = require('coap');  
var coapConnection = { 
    host : url, 
    pathname : '/path', 
    method : 'POST', 
    port : '5683', 
    confirmable : true 
}; 

var req = coap.request(coapConnection); 
req.write(JSON.stringify(spec.body)); 
req.on('response', function(response) { 
    var d = response.payload; 
    spec.resp.response = JSON.parse(d.toString('utf8')); 
    response.pipe(process.stdout); 
    response.on('end', function() { 
     console.log("Success"); 
    }); 
}); 
req.end();