2017-01-14 2 views
0

내 로컬 nodejs 설치에 https://github.com/FLYBYME/node-transmission 패키지를 설치하려고 시도했지만 위의 github 저장소에서 example.js을 실행하는 중에 다음 오류가 발생합니다. 노드 전송 패키지가 작동하지 않습니다.

Error: connect ECONNREFUSED 127.0.0.1:9091 
    at Object.exports._errnoException (util.js:1022:11) 
    at exports._exceptionWithHostPort (util.js:1045:20) 
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1090:14) 
    code: 'ECONNREFUSED', 
    errno: 'ECONNREFUSED', 
    syscall: 'connect', 
    address: '127.0.0.1', 
    port: 9091 

조금 조사 후 내가 포트 9091의 서버를 실행 한 후 (별도의 server.js 파일)이 코드를 사용하여 포트 9091에

const http = require('http') 
const port = 9091 

const requestHandler = (request, response) => { 
    console.log(request.url) 
    response.end('Hello Node.js Server!') 
} 

const server = http.createServer(requestHandler) 

server.listen(port, (err) => { 
    if (err) { 
    return console.log('something bad happened', err) 
    } 

    console.log(`server is listening on ${port}`) 
}) 

을 서버를 실행하려고,이 오류를 받기 시작했다 example.js :

SyntaxError: Unexpected token H in JSON at position 0 
at JSON.parse (<anonymous>) 
at IncomingMessage.onEnd (F:NodeJS\node-transmission-master\lib\transmission.js:453:33) 
at emitNone (events.js:91:20) 
at IncomingMessage.emit (events.js:185:7) 
at endReadableNT (_stream_readable.js:974:12) 
at _combinedTickCallback (internal/process/next_tick.js:74:11) 
at process._tickCallback (internal/process/next_tick.js:98:9) 

무엇이 발생해야합니까? 나는 어떤 단계를 잘못했는지 전혀 모른다. 그래서 내가 뒤따른 모든 과정을 설명했다.

저는 nodejs에서 매우 새롭습니다. 어떤 도움을 주시면 감사하겠습니다.

답변

1

라이브러리에 JSON 형식 응답이 필요하며 간단한 텍스트 응답을 보내고 있습니다. 소스 코드를 살펴보면 callServer 함수가 문자열이있는 JSON을 기대하지만 해당 문서에서 볼 수 없다는 것을 알 수 있습니다.

당신과 같이 코드를 변경할 수 있습니다 노드 - 전송 패키지에서 예제를 실행하기 위해

const http = require('http') 
const port = 9091 

const requestHandler = (request, response) => { 
    console.log(request.url) 

    // Format your response as a stringified JSON 
    response.end(JSON.stringify({message: 'Hello Node.js Server!'})); 
} 

const server = http.createServer(requestHandler) 

server.listen(port, (err) => { 
    if (err) { 
    return console.log('something bad happened', err) 
    } 

    console.log(`server is listening on ${port}`) 
}) 
+0

안녕하세요, 지금이 어색한 오류를 보여줍니다 :'{IncomingMessage.onEnd (F : \ NodeJS \ 노드 전송 마스터 \ lib \ transmission.js : 461 : 29 오류)의 오류 \t IncomingMessage.emit에서 emitNone (events.js : 91 : 20) \t (events.js : 185 : 7) \t at endReadableNT (_stream_readable.process._tickCallback (내부/프로세스/next_tick.js : 98 : 9)에서 _combinedTickCallback (내부/프로세스/next_tick.js : 74 : 11) \t 결과 : '{ "message" "Hello Node.js Server!"} '}' –

1

, 당신은 설치 및 전송 - 데몬을 시작 먼저해야합니다. 다음 단계는 우분투입니다 : 루트로

  1. 로그인 또는
  2. 설치 전송 - 데몬 리눅스 패키지 (당신은/할 루트로 설치하는 것을 항상주의) su -와 루트로 변경 : apt-get install transmission-daemon
  3. 인증을 비활성화하거나 사용자 이름/암호를 설정하기위한 데몬 구성을 편집하십시오 (기본 암호는 없음).

    • pico /etc/transmission-daemon/settings.json
    • false로 인증 플래그를 설정 : 당신은 구성 파일의 상대 깃발을 편집하여 인증을 해제 할 수 있습니다 rpc-authentication-required:false
    • 를 눌러 Ctrl-X 다음 Y 다음 Enter는 변경을 저장
  4. 데몬을 시작하십시오. start transmission-daemon

이제 example.js을 성공적으로 실행하고 토런트 링크를 다운로드 할 수 있어야합니다.

관련 문제