Node.js

echo server

mongyang 2017. 7. 26. 16:52


기본적인 형태의 Echo Server를 만들어 본다. 


1. 현재 폴더 구조를 확인한다.

: ls -al 


2. echo server를 위한 디렉터리 생성.

: mkdir testServer 


3. 서브라임 텍스트를 사용하여 기본 적인 형태의 서버를 생성.



4. 작업 디렉터리로 이동

: cd testServer

 - 미리 작성된 파일을 서브라임 텍스트의 sftp-config.json 파일을 수정하여, 저장시 자동 업데이트를 하도록 설정하여, main.js 파일이 디렉터리에 들어와 있는 것을 확인.



5. 서버 실행.

: node main.js 명령어로 서버를 실행. 


이것으로 기본적인 에코 서버를 만들었다. 해당 서버는 ReqEchoMsg 커맨드로 들어온 메시지를 AckEchoMsg라는 커맨드로 다시 클라이언트에 돌려줄 것이다.



[흔히 만날 수 있는 Error]

1. 이미 사용 중인 포트

: 5500 포트가 이미 사용 중이다.

: 해결 방법 (자주 사용하는 명령어 포스팅에서 포트 확인 및 명령어 추가 확인 가능.)

- netstat -tnlp 로 확인.

- kill -15 PID 로 해당 포트를 사용중인 프로세스 킬.


2. Socket.io 는 1.x 버전 부터 일반 소켓 연결시에 handsake 오류가 있다.

- Error getting handsake from Socket.IO host instance: The remote server returned an error: (400) Bad Request 와 같은 메시지를 흔하게 만날 수 있다

- 해서 해결하는 방법은.

System.Net.WebRequest.DefaultWebProxy = null; 코드를 추가하는 방법.

: socket.io 버전을 0.9.x 로 다운하는 방법이 있다.

- 현재 작성일 기준 socket.io 가 2.0.3 까지 나와 있는데. 해결 되었는지는 확인하지 않았다.

- 이 예제에서는 socket.io 0.9.16 으로 작성함.


3-1. uncaughtException 로 Error 잡기.

: 다음 코드 추가.


3-2. 확인.

: 에러 메시지 확인과 스택을 확인 할 수 있다.

: main.js 파일에서 에러가 발생했고 해당 위치도 표시.


'Node.js' 카테고리의 다른 글

echo Server-Client Test  (0) 2017.07.26
echo Client  (0) 2017.07.26
자주 쓰는 명령어  (0) 2017.07.26
node.js 설치 및 최신버전으로 업데이트.  (0) 2017.07.26
ubuntu 설치에 대한 기록 3 - npm  (0) 2017.07.26