Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 将expressjs与节点webkit一起使用时使用_Node.js_Express_Socket.io_Node Webkit_Nw.js - Fatal编程技术网

Node.js 将expressjs与节点webkit一起使用时使用

Node.js 将expressjs与节点webkit一起使用时使用,node.js,express,socket.io,node-webkit,nw.js,Node.js,Express,Socket.io,Node Webkit,Nw.js,我想使用nw.js作为独立的套接字客户端和服务器。我正在尝试将socket.io网站上的socket.io聊天应用程序放入一个nw.js应用程序。但是当我启动nw.js时,我得到了以下错误: [5591:0222/143044:ERROR:nw_shell.cc(325)] Error: listen EADDRINUSE :::3000 at Object.exports._errnoException (util.js:734:11) at exports._exceptio

我想使用nw.js作为独立的套接字客户端和服务器。我正在尝试将socket.io网站上的socket.io聊天应用程序放入一个nw.js应用程序。但是当我启动nw.js时,我得到了以下错误:

[5591:0222/143044:ERROR:nw_shell.cc(325)] Error: listen EADDRINUSE :::3000
    at Object.exports._errnoException (util.js:734:11)
    at exports._exceptionWithHostPort (util.js:757:20)
    at Server._listen2 (net.js:1153:14)
    at listen (net.js:1179:10)
    at Server.listen (net.js:1266:5)
    at Object.<anonymous> (/Users/xxxx/nwjs/chat-example/index.js:23:6)
    at Module._compile (module.js:451:26)
    at Object.Module._extensions..js (module.js:469:10)
    at Module.load (module.js:346:32)
    at Function.Module._load (module.js:301:12)
这是我针对nw.js的package.json

{
  "name": "socket-chat-example",
  "version": "0.0.1",
  "description": "my first socket.io app",
  "dependencies": {
    "express": "^4.10.2",
    "socket.io": "^1.3.4"
  },
  "main": "index.html",
  "node-main": "index.js"
}
我的nwjs版本:v0.12.0-alpha3-osx-x64

查看工作示例


我无法解释原因,但通过“node main”启动express是导致问题的原因。也许这是一个多进程的问题或什么。。。但是您可以这样做。

每次重新加载、刷新应用程序窗口或打开新窗口时,都会运行
节点主脚本。
基本上,您希望以
bg脚本
的形式启动服务器脚本。这是我的建议。后台脚本在应用程序运行时运行一次,您应该在哪里启动服务器也是如此


您可能还需要监听nwjs窗口,这样当应用程序关闭时,您就可以正确地关闭服务器并进行清理。

您还有其他一些应用程序监听端口3000@AlexeyTen但我随机尝试了其他端口,但都不起作用(例如3001、3023、8883、8000)
{
  "name": "socket-chat-example",
  "version": "0.0.1",
  "description": "my first socket.io app",
  "dependencies": {
    "express": "^4.10.2",
    "socket.io": "^1.3.4"
  },
  "main": "index.html",
  "node-main": "index.js"
}