Avatar ·

Long-Polling, WebSockets, SSE और Comet क्या हैं? PHP में कैसे लागू करें?

सभी को नमस्ते! मैं एक शुरुआती PHP डेवलपर हूँ, वेबसाइट पर एक सरल चैट लिख रहा हूँ। अब सब कुछ इस तरह काम करता है: उपयोगकर्ता AJAX के माध्यम से संदेश भेजता है, यह डेटाबेस में सेव होता है, और अन्य उपयोगकर्ता नए संदेश देखने के लिए मैन्युअल रूप से पेज रिफ्रेश करते हैं (F5)। यह बहुत असुविधाजनक है! मैंने सुना है कि 'रियल-टाइम' के लिए कुछ तकनीकें हैं: Long-Polling, WebSockets, SSE और Comet। लेकिन मैं शब्दों में उलझ गया हूँ। जहाँ तक मैं समझा, Comet कोई तकनीक नहीं है, बल्कि एक पैटर्न है? मुझे चाहिए कि नए संदेश सभी उपयोगकर्ताओं को तुरंत दिखाई दें, बिना पेज रीलोड किए। मैं PHP 8.2, Apache और MySQL का उपयोग कर रहा हूँ। कृपया बताएं कि चैट के लिए कौन सा दृष्टिकोण चुनूं? मैंने हर 2 सेकंड में setInterval() के साथ एक सरल समाधान आज़माया, लेकिन 20 उपयोगकर्ताओं पर सर्वर धीमा होने लगता है। यहाँ मेरे वर्तमान कोड का एक हिस्सा है (नए संदेशों की जाँच): ```php // check_new_messages.php $lastId = $_GET['last_id']; $stmt = $pdo->prepare("SELECT * FROM messages WHERE id > ? ORDER BY id ASC"); $stmt->execute([$lastId]); $messages = $