2016-04-05 15 views

cevap

0

İstemciden, kendi iletinizi sunucuya gönderirsiniz ve sunucunun odadan çıkarmasını istersiniz. Sunucu, o soketi belirli bir odadan çıkarmak için socket.leave("someRoom")'u kullanabilir. Müşteriler odalara kendileri katılamaz veya odadan çıkamazlar. Odalara katılmak ve odalardan ayrılmak ve bırakmak, sunucu tarafından yapılmalıdır (çünkü tüm sohbet odaları fikri sadece sunucuda bulunmaktadır).

Belgeler.

+0

Sorun, sunucumda bir socket_id var. Müşteri uzun zamandır gitti, bu yüzden müşteri tarafındaki herhangi bir şeye erişemiyorum. – Cisplatin

+0

@Xenon - İstemci gitmişse, zaten soketin bağlantısı kesilmeli ve çıkarılmamış soketler herhangi bir odadan otomatik olarak çıkarılmalıdır. İstemci hala bağlıysa, soketi soket kullanarak arayabilir ve bulduğunuz soket üzerinde 'socket.leave()' diyebilirsiniz. Daha spesifik kodlama yardımı istiyorsanız, kodunuzun ilgili kısmını bize gösterin. – jfriend00

+0

@Xenon - Sunucuda, soket kimliğini kullanarak belirli bir soketi aramak için 'var socket = io.sockets.connected [socket_id]' öğesini kullanabilirsiniz. Daha sonra bu soketi kullanarak socket.leave ("xxx)' yi yapabilirsiniz. Ancak, soket bağlantısı kesilirse, veri yapısında olmayacak ve zaten tüm odalardan kaldırılmış olacaktır. – jfriend00