김로원
고양이만도 못한 개발자
김로원
전체 방문자
오늘
어제
  • 분류 전체보기 (60)
    • 프로그래밍 개념 정리 (4)
    • 디버그 기록 and 트러블 슈팅 (5)
    • 프로그래밍 (10)
      • PHP and Laravel (4)
      • JAVA (0)
      • Spring Boot (0)
      • 리액트 react (5)
      • 자바스크립트, 타입스크립트 (0)
      • 데이터베이스 (0)
      • JPA (0)
      • 리눅스 (1)
      • 윈도우 (0)
      • JSP (0)
    • 코딩 테스트 문제 (39)
      • 프로그래머스 (39)
      • 백준 (0)
    • 디바이스 (2)
    • 달리기 (0)
    • 음악 (0)
    • 고양이 로원이 (0)
    • 유요한 정보 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 노션 이력서
  • 타모임

티스토리

hELLO · Designed By 정상우.
김로원

개발자가 된 집사

WebSocket을 활용한 PHP 라라벨 실시간 채팅 구현 - 개요
프로그래밍/PHP and Laravel

WebSocket을 활용한 PHP 라라벨 실시간 채팅 구현 - 개요

2024. 2. 5. 22:13
반응형

 

 

시작하기 전에 완성된 사진 프리뷰 먼저 한 스푼

아름답다

 

 

고졸 국비 비전공 쓰리콤보로 어찌저찌 취업을 하고

 

정신을 차려보니 php와 라라벨이 주 언어, 프레임워크가 되어버린         ( 아무도 안 시킴 )

 

사람입니다

 

 

지난 수 개월간 개인 프로젝트 겸 실제 서비스를 해볼 커뮤니티 사이트를 만들면서         ( 광고수익을 위한 )

 

문득 개인적인 욕심으로 구현해본 채팅입니다

 

 

저 같은 경우에는 아래와 같이 테이블 구조를 만들었습니다

 

1. 대충 채팅방 테이블

2. 대충 채팅방 메시지 저장 테이블

3. 사용자가 속한 채팅방 키값 저장 테이블

 

데이터베이스 구조야 자유롭게 짜시길....

 

사람마다 지향하는 바가 다르니까요

 

 

솔직히 라라벨의 로직 자체는 굉장히 맘에 듭니다

 

테스트도 빠르게 해볼 수 있고

 

구조가 단순해서 로직을 이것저것 테스트해보기 굉장히 편합니다

 

 

그런데 정보가 너무 적어서 삽질을 너무 많이 한....

 

처음에 채팅을 구현하면서 적용해본 것은

 

SSE 입니다

 

웹소켓이 어려울 것 같아서 ㅎㅎ

 

그러나.... SSE를 구현하며, php 종특인지 뭔지

 

커넥션 관리와 메시지 IN OUT이 개판으로 되더라구요

 

 

그래서 결국 웹소켓으로 눈을 돌렸으나

 

 

가장 처음에 나오는 것이 이제

 

라라벨 공식의 브로드캐스팅, echo Server, pusher

 

깃 헤드로 롤백을 한 20번 정도 한 것 같네요 ㅎㅎㅎㅎㅎㅎㅎ 개가튼

 

아무튼 가장 쉬운 길을 강구하는 제가 방법을 찾은 것은

 

Ratchet

 

입니다

 

 

 

보통 많이 나오는 방법으로는 pusher는 유료라 패스

 

redis는 하다가 자꾸 개판나서 또 패스

 

 

Ratchet 이녀석은 php 코드를 기반으로 웹소켓 서버를 열도록 도와줍니다

 

 

차근차근 시작해봅시다!

 

 

 

 

 

 

아래는 제가 직접 손수 수작업으로 하나부터 열까지 전부 직접 작성한 커뮤니티사이트 입니다

 

신생커뮤니티라서 많이 삭막하지만 들려주시면 고마울 것 같아요!

 

https://tamoim.com

 

타모임

탕비실 물 좀 마셔도 되냐고 물어본 건물 미화원

tamoim.com

 

728x90
반응형
저작자표시 (새창열림)

'프로그래밍 > PHP and Laravel' 카테고리의 다른 글

PHP Laravel 에서 사이트맵을 생성하는 간단한 방법  (0) 2024.03.11
WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 2. 자바스크립트에서 웹소켓과 통신하기  (0) 2024.02.24
WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 1. 웹소켓 서버와 컨트롤러  (0) 2024.02.05
    '프로그래밍/PHP and Laravel' 카테고리의 다른 글
    • PHP Laravel 에서 사이트맵을 생성하는 간단한 방법
    • WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 2. 자바스크립트에서 웹소켓과 통신하기
    • WebSocket을 활용한 PHP 라라벨 실시간 채팅 - 1. 웹소켓 서버와 컨트롤러
    김로원
    김로원
    개발자가 된 집사 직접 만든 커뮤니티 사이트 - 타모임 - https://tamoim.com

    티스토리툴바