채팅 애플리케이션은 웹에서 대화형 커뮤니케이션을 혁신하는 real-time 방법을 보여주는 훌륭한 예입니다. 이 기사에서는 를 사용하여 간단한 채팅 애플리케이션을 구축 하고 이를 사용하여 통합하여 사용자에게 반응형 대화형 커뮤니케이션 경험을 제공하는 방법을 안내합니다. WebSocket real-time Laravel WebSocket laravel-websockets
package
응용 프로그램의 목적
real-time 다음과 같은 기능을 갖춘 채팅 애플리케이션을 구축할 것입니다 .
즉시 메시지 보내기 및 받기: 사용자는 페이지를 새로 고칠 필요 없이 즉시 메시지를 보내고 받을 수 있습니다.
온라인 사용자 목록: 응용 프로그램은 온라인 사용자 목록과 채팅 상태를 표시합니다.
이미지 및 파일 보내기: 사용자는 채팅 내에서 이미지와 파일을 공유할 수 있습니다.
설치 및 구성 시작하기
시작하려면 를 설치하고 와 통합 하도록 laravel-websockets
package 구성 해야 합니다. 다음과 같이하세요: WebSocket Laravel
다음을 설치합니다 laravel-websockets
package. 를 package 사용 하여 설치를 시작합니다 Composer.
composer require pusher/pusher-php-server
구성 파일 게시: 설치 후 구성 파일을 게시하여 설정을 사용자 지정합니다.
php artisan vendor:publish --tag=websockets-config
실행 migration: 에 필요한 데이터베이스 테이블을 생성합니다 WebSocket.
php artisan migrate
서버 시작 WebSocket: 서버를 시작하여 연결을 WebSocket 처리합니다. real-time
php artisan websockets:serve
사용자 인터페이스 구축
메시지 목록, 입력 상자 및 온라인 사용자 목록을 표시하기 위해 HTML, CSS 및 JavaScript를 사용하여 간단한 사용자 인터페이스를 만듭니다.
<!-- resources/views/chat.blade.php -->
<div id="app">
<div class="chat-container">
<div class="chat-box">
<div class="chat-messages">
<div class="message" v-for="message in messages":key="message.id">
{{ message.user }}: {{ message.content }}
</div>
</div>
<div class="input-box">
<input v-model="newMessage" @keydown.enter="sendMessage" placeholder="Enter your message...">
</div>
</div>
</div>
</div>
통합 WebSocket 및 Broadcasting
응용 프로그램과 Laravel Broadcasting 통합하는 데 사용할 것입니다. WebSocket
설치 Pusher: 드라이버 로 pusher/pusher-php-server
package 사용하기 위해 설치합니다. Pusher Broadcasting
composer require pusher/pusher-php-server
구성 Broadcasting: 파일 에서 config/broadcasting.php
드라이버를 구성하고 Pusher 자격 증명을 제공합니다.
'pusher' => [
'driver' => 'pusher',
'key' => env('PUSHER_APP_KEY'),
'secret' => env('PUSHER_APP_SECRET'),
'app_id' => env('PUSHER_APP_ID'),
'options' => [
'cluster' => env('PUSHER_APP_CLUSTER'),
'encrypted' => true,
],
],
이벤트 생성 및 브로드캐스트: ChatMessageSent 이벤트를 생성하고 사용자가 메시지를 보낼 때 브로드캐스트합니다.
// app/Events/ChatMessageSent.php
public function broadcastOn()
{
return new Channel('chat');
}
JavaScript 스크립트: JavaScript를 사용하여 서버에서 이벤트를 수신하고 사용자 인터페이스를 업데이트합니다.
// resources/js/app.js
require('./bootstrap');
import Vue from 'vue';
import Chat from './components/Chat.vue';
const app = new Vue({
el: '#app',
components: {
Chat
}
});
결론
이 자습서를 완료하면 in을 real-time 사용하여 채팅 애플리케이션을 성공적으로 구축했습니다. 사용자는 즉시 메시지를 보내고 받을 수 있으며 응답성이 뛰어난 대화형 통신 환경을 제공하는 방법을 목격했습니다. WebSocket Laravel WebSocket