これが事です:
シンプルな API サーバーを作成したいと考えています。ユーザーからのリクエストは解析され、ソケット サーバーに送信されるシンプルなソケット メッセージに変換されます。
ここにコードがあります
エクスプレス サーバー :
var express = require('express');
var app = express(),
handler = require('./lib/urlparser.js');
app.get('/', function(req, res){
var body = 'Hello World';
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Length', body.length);
res.end(body);
});
app.get('/:command/:mode/:addr/:value', handler.handleRequest);
app.listen(80);
console.log('Listening on port 80...');
そして handleRequest モジュール
exports.handleRequest = function(req, res) {
var net = require('net');
var HOST = '192.168.1.254';
var PORT = 8888;
var client = new net.Socket();
/* translate the url params and save it to var request and send it */
/* The code goes here */
client.connect(PORT, HOST, function() {
//console.log('Connected To: ' + HOST + ':' + PORT);
client.setEncoding('utf-8');
client.write(request);
//console.log('Message Sent');
});
client.on('data', function(val) {
//console.log('The Data: ' + val);
res.send([{addr:'test'}, {value: val}]);
client.destroy();
});
client.on('close', function() {
//console.log('Connection closed');
});
};
このコードは機能します。それが正しいかどうか、またはネットモジュールを含めてソケットサーバーの IP とポートをメインの js ファイル内 (モジュールの外?
どんな助けでも大歓迎です。