0

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」を使用しない場合、サーバーは正常に動作します。誰でもこの問題を解決するのを手伝ってくれますか?

4

0 に答える 0