시작하기 전에 완성된 사진 프리뷰 먼저 한 스푼
고졸 국비 비전공 쓰리콤보로 어찌저찌 취업을 하고
정신을 차려보니 php와 라라벨이 주 언어, 프레임워크가 되어버린 ( 아무도 안 시킴 )
사람입니다
지난 수 개월간 개인 프로젝트 겸 실제 서비스를 해볼 커뮤니티 사이트를 만들면서 ( 광고수익을 위한 )
문득 개인적인 욕심으로 구현해본 채팅입니다
저 같은 경우에는 아래와 같이 테이블 구조를 만들었습니다
1. 대충 채팅방 테이블
2. 대충 채팅방 메시지 저장 테이블
3. 사용자가 속한 채팅방 키값 저장 테이블
데이터베이스 구조야 자유롭게 짜시길....
사람마다 지향하는 바가 다르니까요
솔직히 라라벨의 로직 자체는 굉장히 맘에 듭니다
테스트도 빠르게 해볼 수 있고
구조가 단순해서 로직을 이것저것 테스트해보기 굉장히 편합니다
그런데 정보가 너무 적어서 삽질을 너무 많이 한....
처음에 채팅을 구현하면서 적용해본 것은
SSE 입니다
웹소켓이 어려울 것 같아서 ㅎㅎ
그러나.... SSE를 구현하며, php 종특인지 뭔지
커넥션 관리와 메시지 IN OUT이 개판으로 되더라구요
그래서 결국 웹소켓으로 눈을 돌렸으나
가장 처음에 나오는 것이 이제
라라벨 공식의 브로드캐스팅, echo Server, pusher
깃 헤드로 롤백을 한 20번 정도 한 것 같네요 ㅎㅎㅎㅎㅎㅎㅎ 개가튼
아무튼 가장 쉬운 길을 강구하는 제가 방법을 찾은 것은
Ratchet
입니다
보통 많이 나오는 방법으로는 pusher는 유료라 패스
redis는 하다가 자꾸 개판나서 또 패스
Ratchet 이녀석은 php 코드를 기반으로 웹소켓 서버를 열도록 도와줍니다
차근차근 시작해봅시다!
아래는 제가 직접 손수 수작업으로 하나부터 열까지 전부 직접 작성한 커뮤니티사이트 입니다
신생커뮤니티라서 많이 삭막하지만 들려주시면 고마울 것 같아요!
'프로그래밍 > PHP and Laravel' 카테고리의 다른 글
PHP Laravel 에서 사이트맵을 생성하는 간단한 방법 (0) | 2024.03.11 |
---|---|
WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 2. 자바스크립트에서 웹소켓과 통신하기 (0) | 2024.02.24 |
WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 1. 웹소켓 서버와 컨트롤러 (0) | 2024.02.05 |