기본적인 형태의 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 |