Socket.IO তে Error Events যেমন connect_error, connect_timeout, reconnect_error, ইত্যাদি ব্যবহৃত হয় ক্লায়েন্ট এবং সার্ভারের মধ্যে সংযোগের সময় সৃষ্ট কোনো সমস্যা বা ত্রুটি চিহ্নিত করতে। এগুলি বিশেষভাবে রিয়েল-টাইম অ্যাপ্লিকেশনের জন্য গুরুত্বপূর্ণ, যেখানে কানেকশন প্রতিষ্ঠা বা পুনঃসংযোগের সময় কোনো সমস্যা হতে পারে।
এখানে বিভিন্ন Error Events এবং তাদের ব্যবহারের উদাহরণ দেওয়া হলো:
1. connect_error
connect_error ইভেন্টটি তখন ট্রিগার হয় যখন সার্ভার সংযোগ করার সময়ে কোনো সমস্যা তৈরি হয়, যেমন সার্ভার না পাওয়া বা কোনো নেটওয়ার্ক সমস্যা। এটি তখন ব্যবহার করা হয় যখন ক্লায়েন্ট সার্ভারের সাথে সংযোগ করতে ব্যর্থ হয়।
Syntax:
socket.on('connect_error', (error) => {
console.log('Connection Error:', error);
});ব্যবহার:
var socket = io('http://localhost:3000');
socket.on('connect_error', (error) => {
console.log('Connection failed:', error.message);
});এখানে, যদি ক্লায়েন্ট http://localhost:3000 সার্ভারের সাথে সংযোগ স্থাপন করতে না পারে, তাহলে connect_error ইভেন্ট ট্রিগার হবে এবং ত্রুটির বিস্তারিত মেসেজ কনসোলে প্রদর্শিত হবে।
2. connect_timeout
connect_timeout ইভেন্টটি তখন ট্রিগার হয় যখন সার্ভারের সাথে কানেকশন প্রতিষ্ঠা করতে ক্লায়েন্টের সময়সীমা শেষ হয়ে যায়। এটি সাধারণত সার্ভারের সাথে কানেকশন স্থাপনের জন্য নির্ধারিত সময়সীমা (timeout) শেষ হয়ে গেলে ঘটে।
Syntax:
socket.on('connect_timeout', (timeout) => {
console.log('Connection timed out:', timeout);
});ব্যবহার:
var socket = io('http://localhost:3000', {
timeout: 5000 // 5 সেকেন্ডে কানেকশন না হলে টার্ন আউট হবে
});
socket.on('connect_timeout', (timeout) => {
console.log('Connection timed out. Timeout duration:', timeout);
});এখানে, সার্ভারের সাথে কানেকশন স্থাপনের জন্য 5 সেকেন্ড সময়সীমা নির্ধারণ করা হয়েছে। যদি এই সময়ের মধ্যে কানেকশন না হয়, তাহলে connect_timeout ইভেন্ট ট্রিগার হবে এবং সময়সীমার তথ্য কনসোলে প্রদর্শিত হবে।
3. reconnect_error
reconnect_error ইভেন্টটি তখন ট্রিগার হয় যখন ক্লায়েন্ট সার্ভারের সাথে পুনঃসংযোগ স্থাপন করতে ব্যর্থ হয়। এটি ব্যবহার করা হয় যদি ক্লায়েন্ট একাধিকবার পুনঃসংযোগের চেষ্টা করার পরও সার্ভারের সাথে সংযোগ স্থাপন করতে না পারে।
Syntax:
socket.on('reconnect_error', (error) => {
console.log('Reconnection failed:', error);
});ব্যবহার:
var socket = io('http://localhost:3000');
// একাধিক পুনঃসংযোগের চেষ্টা করার পর যদি সার্ভারের সাথে কানেকশন স্থাপন না হয়
socket.on('reconnect_error', (error) => {
console.log('Reconnection failed. Error message:', error.message);
});এখানে, যদি ক্লায়েন্ট পুনঃসংযোগের চেষ্টা করার পরও সার্ভারের সাথে কানেকশন স্থাপন করতে না পারে, তবে reconnect_error ইভেন্ট ট্রিগার হবে এবং ত্রুটির মেসেজ কনসোলে প্রদর্শিত হবে।
4. reconnect_failed
reconnect_failed ইভেন্টটি তখন ট্রিগার হয় যখন পুনঃসংযোগের সব চেষ্টাও ব্যর্থ হয়। এর মাধ্যমে আপনি নিশ্চিত হতে পারেন যে, সার্ভারের সাথে পুনঃসংযোগ সম্ভব নয়।
Syntax:
socket.on('reconnect_failed', () => {
console.log('Reconnection failed after multiple attempts');
});ব্যবহার:
var socket = io('http://localhost:3000');
// পুনঃসংযোগের চেষ্টা ব্যর্থ হলে
socket.on('reconnect_failed', () => {
console.log('Failed to reconnect after multiple attempts.');
});এখানে, reconnect_failed ইভেন্ট ট্রিগার হবে যখন ক্লায়েন্ট একাধিকবার পুনঃসংযোগের চেষ্টা করার পরও সার্ভারের সাথে সংযোগ করতে সক্ষম হবে না।
5. reconnect
reconnect ইভেন্টটি তখন ট্রিগার হয় যখন ক্লায়েন্ট সার্ভারের সাথে সফলভাবে পুনঃসংযোগ স্থাপন করে। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে কানেকশন পুনঃস্থাপন হলে ব্যবহৃত হয়।
Syntax:
socket.on('reconnect', (attemptNumber) => {
console.log('Reconnected successfully after attempt:', attemptNumber);
});ব্যবহার:
var socket = io('http://localhost:3000');
socket.on('reconnect', (attemptNumber) => {
console.log('Reconnected successfully on attempt:', attemptNumber);
});এখানে, reconnect ইভেন্টটি ট্রিগার হবে যখন ক্লায়েন্ট সার্ভারের সাথে পুনঃসংযোগ করতে সফল হবে। attemptNumber-এ যে চেষ্টায় পুনঃসংযোগ সফল হয়েছে তা পাওয়া যাবে।
সারসংক্ষেপ
Socket.IO তে Error Events ব্যবহারের মাধ্যমে আপনি বিভিন্ন কানেকশন এবং পুনঃসংযোগের সমস্যা মোকাবেলা করতে পারেন। এখানে কিছু গুরুত্বপূর্ণ Error Events:
connect_error: যখন সার্ভারের সাথে কানেকশন ব্যর্থ হয়।connect_timeout: যখন সার্ভারের সাথে কানেকশন টাইম আউট হয়ে যায়।reconnect_error: যখন সার্ভারের সাথে পুনঃসংযোগের চেষ্টা ব্যর্থ হয়।reconnect_failed: যখন পুনঃসংযোগের সমস্ত চেষ্টা ব্যর্থ হয়।reconnect: যখন ক্লায়েন্ট সার্ভারের সাথে পুনঃসংযোগ করতে সক্ষম হয়।
এই ইভেন্টগুলো ব্যবহারের মাধ্যমে আপনি Socket.IO তে সংযোগ স্থাপন এবং পুনঃসংযোগ সম্পর্কিত ত্রুটিগুলি দক্ষতার সাথে পরিচালনা করতে পারেন।
Read more