事情是这样的:
我想创建一个简单的 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');
});
};
这段代码有效,我只需要知道它是否正确或者有什么方法可以包含 net 模块并在主 js 文件中声明套接字服务器的 ip 和端口(在模块之外?
任何帮助,将不胜感激。