반응형
<Buffer 68 65 6c 6c 6f 20 66 72 6f 6d 20 74 68 65 20 62 72 6f 77 73 65 72>
노마드 코더 클론 코딩을 진행 중 터미널에 찍힌 이상한 문자!
<Buffer 68 65 6c 6c 6f 20 66 72 6f 6d 20 74 68 65 20 62 72 6f 77 73 65 72>
Front에서 Back으로 웹소켓을 이용해 메시지를 보내는 중이었다
Front
socket.send("hello from the browser")
Back
socket.on("message", (message) => {
console.log(message)
})
정상적이라면 터미널에 hello from the browser이 출력 되어야 하지만 Buffer 이란 이상한 문자를 출력한다
알고 보니 메시지를 출력하는 과정에서 메시지를 영어로 받아오지 못하고 buffer에 저장되어 있는 16진수 방식으로 가져온 경우로 추측되었다고 한다.
해결방법
console.log(message);를
console.log(message.toString('utf8'));
로 바꾼다.
그러면 16진수를 utf8의 방식의 문자열로 바꿔서 출력해 준다.
Back 코드를 아래와 같이 변경해주었다.
socket.on("message", (message) => {
console.log(message.toString('utf8'))
})
정상적으로 출력이 되는 모습을 볼 수 있다.
반응형
'트러블 슈팅' 카테고리의 다른 글
형식의 인수는 'string' 형식의 매개 변수에 할당될 수 없습니다. (0) | 2023.02.13 |
---|---|
NestJs 패키지 설치 무한 로딩 (0) | 2023.02.09 |
Node Cannot set headers after they are sent to the client 에러 (0) | 2023.01.04 |
Error: listen EADDRINUSE: address already in use :::3000 에러 (0) | 2022.12.15 |
MongoDB 연결 에러 MongooseServerSelectionError: connect ECONNREFUSED ::1:27017 (0) | 2022.12.14 |
댓글