인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

jinw0909님의 프로필 이미지
jinw0909

작성한 질문수

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

웹소켓 on message 질문 + lightsail문제 해결했습니다

작성

·

324

0

안녕하세요!
웹소켓에 socket.io를 적용시키지 않은 상태에서 브라우저로부터 ws.on("message", (message) => {console.log(message)}) 부분에서 콘솔창에 <Buffer ed 81 b4 eb 9d bc ec 9d b4 ec 96 b8 ed 8a b8 ec 97 90 ec 84 9c 20 ec 84 9c eb b2 84 eb a1 9c 20 eb 8b b5 ec 9e a5 ec 9d 84 20 eb b3 b4 eb 83 85 eb 8b ... 4 more bytes> 와 같이 메세지 내용이 버퍼형식으로 출력되는 문제?가 발생했습니다.
 
일단 console.log("" + message)를 하니 문자열("클라이언트에서 서버로 답장을 보냅니다")로 출력되기는 했는데요, 웹소켓 사용시 브라우저가 보낸게 문자열이어도 버퍼로 출력되는건가요? 강좌에서는 바로 문자열로 출력되는 것 같아서 궁금해서 질문드립니다.
 
+
이전에 lightsail관련해서 계속 질문을 남겼었는데, 해결해서 글을 남깁니다. 물론 강좌대로 잘 따라가셨다면 문제가 생기지 않겠지만 혹시나 저와 같이 어떤 사유로서든 lightsail인스턴스가 주기적으로 (2일~3일) 느려졌다가 회복되는게 반복되는 현상을 겪으시는 분들이 있다면 이 방법도 한번 사용해보시면 해서 남기게 되었습니다.
시도한 방법은 서버에 swap space를 설정(추가) 해주는 것입니다. aws lightsail 포럼에서 찾은 방법인데 포럼에서도 최근에 주기적으로 서버가 느려지는 현상에 대한 글이 많아 그중에 해결책을 공유한 분이 있어서 참고했습니다.
https://stefvanlooveren.me/blog/amazon-lightsail-instance-down-every-day-fixed
코드나 서버에 문제가 있는 것이 아님을 재차 강조드리며, 혹시라도 문제가 발생하는 경우에만 참고용정도로 보시면 좋을 것 같습니다.
 
글이 길어졌는데, 좋은 강좌 만들주셔서 감사드리고 이제 웹소켓, 경매시스템 만들기를 끝으로 완강을 앞두고 있습니다.
차근차근 들었으면 더 좋았을 것 같지만 중간에 뛰어넘고 하다보니 오히려 완강까지 시간이 더 걸리게 된 것 같습니다.
자바스크립트랑 nodejs 익혀나가는데 정말 큰 도움이 되고 있습니다!
 
 
 
 
 
 
[제로초 강좌 질문 필독 사항입니다]
질문에는 여러분에게 도움이 되는 질문과 도움이 되지 않는 질문이 있습니다.
도움이 되는 질문을 하는 방법을 알려드립니다.

https://www.youtube.com/watch?v=PUKOWrOuC0c

0. 숫자 0부터 시작한 이유는 1보다 더 중요한 것이기 때문입니다. 에러가 났을 때 해결을 하는 게 중요한 게 아닙니다. 왜 여러분은 해결을 못 하고 저는 해결을 하는지, 어디서 힌트를 얻은 것이고 어떻게 해결한 건지 그걸 알아가셔야 합니다. 그렇지 못한 질문은 무의미한 질문입니다.
1. 에러 메시지를 올리기 전에 반드시 스스로 번역을 해야 합니다. 번역기 요즘 잘 되어 있습니다. 에러 메시지가 에러 해결 단서의 90%를 차지합니다. 한글로 번역만 해도 대부분 풀립니다. 그냥 에러메시지를 올리고(심지어 안 올리는 분도 있습니다. 저는 독심술사가 아닙니다) 해결해달라고 하시면 아무런 도움이 안 됩니다.
2. 에러 메시지를 잘라서 올리지 않아야 합니다. 입문자일수록 에러메시지에서 어떤 부분이 가장 중요한 부분인지 모르실 겁니다. 그러니 통째로 올리셔야 합니다.
3. 코드도 같이 올려주세요. 다만 코드 전체를 다 올리거나, 깃헙 주소만 띡 던지지는 마세요. 여러분이 "가장" 의심스럽다고 생각하는 코드를 올려주세요.
4. 이 강좌를 바탕으로 여러분이 응용을 해보다가 막히는 부분, 여러 개의 선택지 중에서 조언이 필요한 부분, 제 경험이 궁금한 부분에 대한 질문은 대환영입니다. 다만 여러분의 회사 일은 질문하지 마세요.
5. 강좌 하나 끝날 때마다 남의 질문들을 읽어보세요. 여러분이 곧 만나게 될 에러들입니다.
6. 위에 적은 내용을 명심하지 않으시면 백날 강좌를 봐도(제 강좌가 아니더라도) 실력이 늘지 않고 그냥 코딩쇼 관람 및 한컴타자연습을 한 셈이 될 겁니다.

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 웹소켓 버전이 업데이트됨에 따라 기본 동작이 바뀌어서 이제는 data.toString()처럼 string으로 전환해주셔야 합니다.

swap space 관련 공유 감사합니다.

jinw0909님의 프로필 이미지
jinw0909

작성한 질문수

질문하기