THẢO LUẬN

@maitrungduc1410 Hi chào ban, hic lại là mình đây. Bên laravel-echo-server hiện tại mình đã broadcast được event rồi. nhưng bên phía client thì mình không listen đươc event. Đây là code bên client:

private Echo = new Echo({
    broadcaster: 'socket.io',
    //client: Socketio,
    host: 'http://localhost:12081', // local testing
    //host: new URL(process.env.apiBaseUrl!).hostname
  });

this.Echo.channel('public')
      .listen('.PublicEvent', function(e: any) {
        console.log(e);
      });

Phía nginx mình cũng đã setup:

location /socket.io {
        proxy_pass http://laravel_echo_server:6001;
        proxy_redirect     off;
        proxy_http_version 1.1;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header Host $host;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header X-Real-Ip $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

Đây là file docker-compose.yml của mình

version: "3"

services:
  web:
    container_name: "line_web"
    build:
      context: .
      args:
        - APP_ENV=${APP_ENV}
        - INSTALL_XDEBUG=${INSTALL_XDEBUG}
    ports:
      - "12081:80"
    volumes:
      - .:/var/www/
      - ./.docker/nginx/conf.d/:/etc/nginx/conf.d/
      - ./.docker/nginx/nginx.conf:/etc/nginx/nginx.conf
      - ./.docker/php/7.4/php-fpm.d/www.conf:/usr/local/etc/php-fpm.d/zzz-www.conf
      - ./.docker/php/7.4/php.ini:/usr/local/etc/php/php.ini
#      - ./.docker/php/7.4/php.ini:/etc/php7/php.ini
    links:
    - db
    - redis
    - mailcatcher
    - laravel_echo_server

  node:
    image: node:12.12-alpine # dockerhubにすでに上がっている
    tty: true
    ports:
      - "3011:3000" # localhost:3000にポートをマッピングする
    working_dir: /var/www
    volumes:
      - ./frontend:/var/www # ./srcをコンテナ内の/var/wwwにマウントする
    environment:
      PORT: 3000
      HOST: 0.0.0.0
#    command: "yarn dev" # upする際に実行されるコマンド
    restart: always # エラーなどでコンテナが落ちた際に自動で再起動してくれる
    depends_on:
    - web


  mailcatcher:
    image: yappabe/mailcatcher
    ports:
      - 12026:1025
      - 12089:1080
  db:
    image: mysql:5.6.37
    container_name: "line_mysql"
    ports:
      - "13327:3306"
    volumes:
      - ./.docker/mysql/custom.cnf:/etc/mysql/conf.d/custom.cnf
      - ./.docker/mysql/charset.cnf:/etc/mysql/conf.d/charset.cnf
      - ./.docker/mysql/init:/docker-entrypoint-initdb.d
      - ./.db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=pass
      - MYSQL_DATABASE=line
  redis:
    image: redis
    container_name: "line_redis"
    ports:
      - "16380:6379"

  laravel_echo_server:
    build:
      context: .docker/laravel-echo-server
      dockerfile: Dockerfile
    volumes:
      - .env:/app/.env
    restart: unless-stopped


volumes:
  redis-data:
    driver: local

Laravel worker của mình cũng chạy rồi Mình thấy websocket của mình trên browser cũng trả về 200 rồi mà vẫn không nhận được event. Bạn có thể xem giùm mình xem cấu hình của mình có sai sót gì không với. và cách debug ở bên client .

image.png

0
Jul 5th, 2021 8:02 a.m.

tại e k đăng vào group cty ạ 😃))

0
Avatar
đã bình luận câu trả lời trong câu hỏi
Jul 5th, 2021 7:40 a.m.

camr onw ban bữa giờ mình bận chưa check tý mình implement lại xem mình mới nên code theo kiểu logic dễ hiểu còn tối ưu thì mình chưa biết 😛

+1

Mình chưa hiểu ỏ một số nơi có dấu back-slash lắm, ví dụ như \Lag và \Exception, mình đã thử bỏ đi thì lại phải import lại (mà gợi ý import lại không đúng lắm). Cho mình hỏi là dấu "" có vai trò như thế nào vậy? image.png

0

@dinhlongit chạy kpi ít thôi bạn ơi 😦

0

Bạn lại chém gió rồi 😃))

0

mình làm như bạn từ trên xuống dưới mà có đc đâu 😦

0
Jul 5th, 2021 4:35 a.m.

Vẫn đang đợi phần 3 😦(

0

Loạt series này rất hay, mong bạn ra sớm ra tiếp phần liên quan đến quản lý state thông qua bloc hoặc cubit cảm ơn bạn rất nhiều. ❤️ ❤️

0
Jul 5th, 2021 3:41 a.m.

Bài viết có đầu tư, thank bạn

0
Jul 5th, 2021 3:22 a.m.
0
Jul 5th, 2021 3:07 a.m.

Bài viết chi tiết đầy đủ, tks em. Ra nốt thêm Transformer cho đủ bộ 👍

0
Jul 5th, 2021 2:42 a.m.

Rất cảm ơn bạn @thangtd90 đã rep mình, mặc dù mình chưa thỏa mãn về vấn đề của mình nhưng mình cũng hiểu thêm một số thứ rất bổ ích mà bạn đã giải thích

+1
Avatar
đã bình luận câu trả lời trong câu hỏi
Jul 5th, 2021 1:44 a.m.

@le.vinh.thien mình muốn tạo ra 1 cái placeholder để người dùng nhập ý bạn

0
Jul 5th, 2021 1:39 a.m.

nice

0
Jul 5th, 2021 1:31 a.m.

Rất cám ơn góp ý của a ạ😉

0
Jul 5th, 2021 1:29 a.m.

dạ, cám ơn góp ý của a 😉

0

😜😜

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí