च्याट एप्लिकेसन वेबमा अन्तरक्रियात्मक सञ्चारमा कसरी क्रान्तिकारी परिवर्तन गर्न सकिन्छ 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 Script: सर्भरबाट घटनाहरू सुन्न र प्रयोगकर्ता इन्टरफेस अपडेट गर्न 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
}
});
निष्कर्ष
यो ट्यूटोरियल पूरा गरेर, तपाईंले मा real-time प्रयोग गरेर च्याट अनुप्रयोग सफलतापूर्वक निर्माण गर्नुभएको छ । प्रयोगकर्ताहरूले तुरुन्तै सन्देशहरू पठाउन र प्राप्त गर्न सक्छन्, र तपाईंले कसरी जवाफदेही र अन्तरक्रियात्मक संचार अनुभव प्रदान गर्दछ देख्नुभएको छ। WebSocket Laravel WebSocket