我正在 node.js 和 golang 中创建一个 web 应用程序。我需要将 nodejs 与 golang 代码连接起来,golang 代码会与 mongodb 对话并将数据返回给 node 程序。有什么办法可以连接吗?我尝试使用 gonode API。这是我使用 gonode API 的代码。


我的 node.js 文件包含以下代码:


var Go = require('gonode').Go;

var options = {

path : 'gofile.go',

initAtOnce : true,

}


var go = new Go(options,function(err){

if(err) throw err;


go.execute({commandText: 'Hello world from gonode!'}, function(result, response) {

        if(result.ok) {

            console.log('Go responded: ' + response.responseText);

        }

});


go.close();

});     `

这是我的 gofile.go 文件中的代码:


package main


import(

    gonode "github.com/jgranstrom/gonodepkg"

    json "github.com/jgranstrom/go-simplejson"

)


func main(){

    gonode.Start(process)

}


func process(cmd *json.Json) (response *json.Json) {    

    response, m := json.MakeMap()


    if(cmd.Get("commandText").MustString() == "Hello") {

        m["responseText"] = "Well hello there!"

    } else {

        m["responseText"] = "What?"

    }


    return

}

这是在终端中作为节点 node.js 运行时出现的错误


events.js:72

        throw er; // Unhandled 'error' event

              ^

Error: write EPIPE

    at errnoException (net.js:905:11)

    at Object.afterWrite (net.js:721:19)