2017-08-05 107 views
1

我試圖從this link運行我的第一deepstream.io服務器,但我得到這個錯誤:deepstream錯誤聽EADDRINUSE 127.0.0.1:6020

enter image description here

錯誤:

CONNECTION_ERROR | Error: listen EADDRINUSE 127.0.0.1:3003 
PLUGIN_ERROR | connectionEndpoint wasn't initialised in time 
f:\try\deep\node_modules\deepstream.io\src\utils\dependency- 
initialiser.js:96 
throw error 
^ 

Error: connectionEndpoint wasn't initialised in time 
at DependencyInitialiser._onTimeout 
(f:\try\deep\node_modules\deepstream.io\src\utils\dependency- 
initialiser.js:94:17) 
at ontimeout (timers.js:386:14) 
at tryOnTimeout (timers.js:250:5) 
at Timer.listOnTimeout (timers.js:214:5) 

,這是我的代碼:

const DeepStreamServer = require("deepstream.io") 
const C = DeepStreamServer.constants; 
const server = new DeepStreamServer({ 
    host:'localhost', 
    port:3003 
}) 

server.start(); 

回答

3

在deepstream 3.0中,我們發佈了我們的HTTP端點,默認情況下,它與我們的websocket端點一起運行。

因此,在配置的根級別傳遞port選項不再有效(它會覆蓋HTTP和websocket兩個端口選項,如您在提供的屏幕截圖中所看到的,兩個端點都嘗試啓動同一個端口)。

您可以覆蓋這些端口如下:

const deepstream = require('deepstream.io') 

const server = new deepstream({ 
    connectionEndpoints: { 
    http: { 
     options: { 
     port: ... 
     } 
    }, 
    websocket: { 
     options: { 
     port: ... 
     } 
    } 
    } 
}) 
server.start() 

或者你可以在一個文件中並指向定義你的配置來,雖然初始化deepstream [1]。

[1] deepstream server configuration

0

我找到的一個解決方案是通過這樣inseted的空配置對象:

const server = new DeepStreamServer({ 
    host:'localhost', 
    port:3003 
}) 

我只是用這樣的:

const server = new DeepStreamServer({}) 

,現在一切工作的很好。

相關問題