본문 바로가기
반응형

node.js5

[NodeJS] Error [ERR_UNESCAPED_CHARACTERS]: Request path contains unescaped characters URL 요청하면서 발생한 에러이다. 번역 그대로 요청 경로에 처리하지 못하는 문자가 있는 것이다! 또는 띄어쓰기나 잘못된 문자가 들어갔을때 발생할것으로 예상된다. http://localhost/img/이미지.jpg 나는 위와 같이 한글로된 URL을 요청했는데 UNESCAPED_CHARACTERS 에러가 발생했고 한글 때문이라는것을 알게되었다. 따라서 javascript에 내장 되어있는 encodeURI() 함수를 사용하면 해결된다. encodeURI(http://localhost/img/이미지.jpg) 해당 URL을 UTF-8로 변환 되어 한글로 된 부분을 escaped된 문자열로 바꿔주게 된다. 2021. 1. 19.
[NodeJS] Jimp 이용하여 비트맵 조작하기(c++ binary 통신) 자사 프로젝트로 스마트워치를 개발하고 있는데 워치 LED에 TCP서버측에서 bmp 파일을 읽어 binary로 전송 해야 하는 일이 생겨버렸다.. 먼저 TCP 서버를 구축해야 했고 급했던 나머지 제일 빨리 구축할 수 있을것 같은 Node.js를 선택해 진행중이다. 늘 순차실행인 코드만 작성하다 Nodejs의 콜백이 나를 너무나 괴롭혔다... 분명 값이 나와야 할것 같으면 undefined.... undefined.... 그렇게 개념좀 익히면서 하나하나 디버그 돌려가면서 얼추 모든 기능은 완성된 상태이고, 정리만 남았다! 제일 나를 괴롭혔던 bmp조작... 다른 사람들이 보면 정말 못 짠 코드라고 생각하겠지만 워치 LED에 내가 전송한 이미지가 뜨는 순간을 정말 가슴 벅찼다! 바로 시작해보겠다. 전송하기 위.. 2021. 1. 15.
[NodeJS] TCP Socket Server 구성하기 TCP Node.js에서 제공되는 스트림 소켓을 사용하며 연결형 소켓이다. 연결형 소켓이므로 신뢰성이 보장되며 세션 관리가 중요하다. event close : 서버가 닫힌후에 이벤트 발생 connection : 새로운 연결이 만들어지면 이벤트 발생 error : 에러 발생 시 이벤트 발생, 'close'이벤트는 이 이벤트가 발생한 후 직접 호출 listening : server.listen() 함수 호출 후 bind되었을때 이벤트 발생 end : 클라이언트 소켓 세션이 끊어졌을때(FIN Packet을 받았을 때) 이벤트 발생 data : 클라이언트 소켓으로부터 데이터를 수신받았을 때 이벤트 발생 timeout : 소켓 세션이 비활성화 되었을 때 시간 초과될때 발생되는 이벤트 //TCP const net .. 2020. 12. 1.
[NodeJS] UDP Socket Server 구성하기 UDP https://nodejs.org/api/dgram.html Node.js에서 제공되는 데이터그램 소켓을 사용하며 비 연결형 소켓이다. 비연결형 소켓이므로 신뢰성이 보장되지 않으며 클라이언트가 서버로부터 데이터를 받지 못할 수 도 있다. event close : 소켓이 닫힌 후에 이벤트가 발생되며, 메시지를 받을 수 없음. connect : 소켓 커넥션 후 이벤트 발생 error : 오류 발생시 이벤트 발생 listening : udp 서버 start시 이벤트 발생 message : 클라이언트로부터 메시지 수신 시 이벤트 발생 const dgram = require('dgram'); const server = dgram.createSocket('udp4'); //에러 발생 시 server.on('.. 2020. 12. 1.
[NodeJS] .env 환경변수 env 파일은 linux, unix 등 shell 명령어인데 주로 환경변수로 이용한다. 본인도 C나 PHP, Nodejs로 .env를 사용하고 있다. Nodejs에서는 .env를 사용하기 위해서 dotenv라는 패키지를 설치해야 한다. --save 명령어를 이용해서 package.json의 dependencies에도 추가하게 설치를 진행한다. npm install dotenv --save 보통 .env파일의 위치는 루트 디렉토리 이지만 루트 이외의 경로로 파일을 작성하게 되면 수동으로 path를 지정해주어야 한다. require('dotenv').config({ path : '/test/custom/path/foo' }); 패키지를 불러온다. require('dotenv').config(); 환경변수의 .. 2020. 12. 1.
반응형