Websocketサーバーを作りたいです。Windows サービスとして自動的に実行され (モジュール 'node-windows' を使用)、ファイル dll をロードできます (モジュール 'ffi' を使用)。
ファイル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);
install.js ファイルのコードは次のとおりです。ファイルserver.jsをWindowsサービスとして実行するように設定します
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();
実行すると、理由はわかりませんが、Windows サービスが自動的に停止します。「ffi」を使用しない場合、サーバーは正常に動作します。誰でもこの問題を解決するのを手伝ってくれますか?