I want to make a websocket server. It can run automatically as a windows service (I use module 'node-windows') and load a file dll (I use module 'ffi').
Here is code in file server.js
var http = require("http");
var ws = require("../../");
var fs = require("fs");
var ffi = require("ffi");
var server = ws.createServer(function (connection) {
connection.on("text", function (str) {
var Lib = ffi.Library('add.dll', {'Add' : ['int',['int','int']]});
var arr = str.split(":");
var result = Lib.Add(Number(arr[0]), Number(arr[1]));
connection.sendText(result);
});
});
server.listen(8081);
And here is code in file install.js. It will set the file server.js to run as a windows service
var Service = require('node-windows').Service;
var svc = new Service({
name:'websocketServer',
description: 'a simple websocket server',
script: require('path').join(__dirname,'server.js'),
env:{
name: "NODE_ENV",
value: "production"
}
});
svc.on('install',function(){
svc.start();
});
svc.install();
When I run it, I don't know why but the windows service stops automatically. If I don't use 'ffi', the server will run fine. Anyone can help me to solve this problem?