मैं सर्वर भेजे गए ईवेंट के साथ ट्विटर हैशटैग पर आधारित चैट रूम विकसित कर रहा हूं, पैकेज https://github.com/antage/eventsourceघटनाक्रम गोलांग: क्लाइंट डिस्कनेक्शन का पता लगाने के लिए कैसे?
मुझे क्लाइंट के डिस्कनेक्शन से संबंधित कोई समस्या है। मैं क्लाइंट को संदेश भेजने के लिए एक goroutine चलाता हूं, लेकिन जब ग्राहक डिस्कनेक्ट करता है, तो goroutine अभी भी चलता है।
मुझे नहीं पता कि क्लाइंट डिस्कनेक्ट होने वाले सर्वर पक्ष पर कैसे पता लगाना है।
func (sh StreamHandler) ServeHTTP(resp http.ResponseWriter, req *http.Request) {
es := eventsource.New(
&eventsource.Settings{
Timeout: 2 * time.Second,
CloseOnTimeout: true,
IdleTimeout: 2 * time.Second,
Gzip: true,
},
func(req *http.Request) [][]byte {
return [][]byte{
[]byte("X-Accel-Buffering: no"),
[]byte("Access-Control-Allow-Origin: *"),
}
},
)
es.ServeHTTP(resp, req)
go func() {
var id int
for {
id++
time.Sleep(1 * time.Second)
es.SendEventMessage("blabla", "message", strconv.Itoa(id))
}
}()
}
अपने जवाब के लिए धन्यवाद। मेरी समस्या यह है कि मैं जिस पैकेज का उपयोग कर रहा हूं वह ConsumerCount() फ़ंक्शन का प्रस्ताव नहीं देता है। – GuillaumeP