개발 3

[캡스톤디자인] Socket.IO와 React로 실시간 채팅 구현

우리 졸업 프로젝트는 간단히 말해 p2p 환전 매칭 플랫폼이다. 외화를 구매하는 사람들에게 판매자를 추천해주고, 구매자가 자신이 마음에 드는 판매자에게 채팅을 보내는 구조를 포함한다.  채팅 기능은 웹소켓을 사용하여 구현되며, 이를 통해 실시간 메시지 송수신이 가능하다. 이번 글에서는 프론트엔드에서 채팅 메시지를 주고받는 코드를 구현한 과정을 설명해보려 한다.  우선, 웹소켓이란 무엇인가? 웹소켓은 서버와 클라이언트 간의 양방향 통신을 가능하게 하는 프로토콜이다. HTTP 통신은 클라이언트의 요청에 서버가 응답하는 방식이라, 실시간으로 데이터를 주고받기 어렵다. 반면, 웹소켓은 서버와 클라이언트 사이의 지속적인 연결을 유지해 주기 때문에, 실시간 데이터 전송에 적합하다. 나는 실시간 채팅 기능을 구현하기..

개발/웹 2024.11.26

AWS Route53 도메인 연결 실패 문제 기록

오늘 삽질한 AWS Route53 도메인 연결 실패 문제 기록이다.분명 호스팅 영역에 내 도메인이 잘 있고, 타입 A에 도메인과 그 값에 public IP가 잘 연결되었음에도 몇시간이 지나도 해당 도메인으로의 접근이 불가능했다. 호스팅 영역을 삭제하고 다시 만들기는 했지만 이 정도로 지연이 심할 건 아닌 것 같았다.사실 원인은 단 하나뿐일 수밖에 없었다.  우선 내가 쓰는 계정은 개인 계정이 아니라 팀 계정인데, 팀 계정을 옮기면서 전 계정에서 도메인을 이전받았다.   도메인을 다른 AWS 계정으로 이전 - Amazon Route 53도메인을 이전하려는 계정과 도메인을 이전하려는 계정을 모두 소유하고 있지 않은 경우 기존 호스팅 영역을 도메인을 이전하려는 AWS 계정으로 마이그레이션하거나 소유한 AWS ..

AWS - 사이트에 연결할 수 없음/ 80번 포트 실행 안되는 에러 해결

생애 첫 배포를 진행하며 오랜 시간동안 삽질한 문제 해결에 대한 글이다. 사실 이게 답인지 모르겠지만 어쨌든 해결이 됐으니 기록용으로 써본다. 내가 직면한 문제사이트에 연결할 수 없음... 나는 분명 배포 과정에서 하라는 대로 다 했다. 우선 client가 잘 build 되었다.(이것도 사실 꽤 오랫동안 실패했는데 내 경우에는 JavaScript heap out of memory 문제였다. 메모리가 없어서 build가 안되는 상황! swap memory 추가하고 이것저것 해보았지만 다 실패. 결국 aws에서 메모리 큰 인스턴스 유형으로 새로 만들었더니 됐다.) 그리고 server에서 pm2도 잘 돌아가는 걸 확인했는데, public IP를 주소창에 치면 연결을 거부했다고 하는 거다. 이 문제를 구글링했을..