मेरे पास socket.io का उपयोग करके एक एप्लिकेशन है, और socket.emit()
मोबाइल क्रोम (एंड्रॉइड और आईओएस पर) से काम नहीं कर रहा है। मैं देख सकता हूं कि ब्राउज़र में socket.emit()
निष्पादित हो रहा है। लेकिन socket.on()
में मेरे सर्वर-साइड console.log कथन चल रहे नहीं हैं, इसलिए मुझे लगता है कि संदेश वहां नहीं जा रहे हैं। मुझे कंसोल में कोई त्रुटि नहीं दिखाई देती है।socket.emit मोबाइल क्रोम में काम नहीं कर रहा है (लेकिन यह गुप्त मोड में काम करता है)
दिलचस्प बात यह है कि, सबकुछ गुप्त मोड में ठीक काम करता है, साथ ही सफारी जैसे अन्य मोबाइल ब्राउज़र में सभी मोड भी काम करता है।
कोई समाधान, या डिबगिंग के साथ मदद उपयोगी होगी।
संपादित करें:
क्लाइंट पक्ष कोड
$(document).ready(function(){
socket = io();
$(".check").on("submit", function(event){
event.preventDefault();
ga('send','event','evt','evt123');
socket.emit('checkRoom', { rId: "12345", pId: "johndoe"});
});
});
सर्वर साइड कोड
io.on('connection', function(socket) {
console.log('a user connected');
socket.on('check',function(e){
console.log('Entered check');
socket.emit('check','server message');
});
});
EDIT2:
मैं मैन्युअल रूप से निर्दिष्ट क्लाइंट की तरफ socket.io-1.3.5.js
फ़ाइल (के बजाय का उपयोग कर डिफ़ॉल्ट /socket.io/socket.io.js
) और प्रारंभ करना शुरू किया कंसोल में यह त्रुटि आईएनजी:
WebSocket connection to 'ws://mydomain.com/socket.io/?EIO=3&transport=websocket&sid=wr8UpsT45lrWHtpMACJs' failed: Error in connection establishment: net::ERR_CONNECTION_TIMED_OUT
हमें इस बारे में कोई विचार करने के लिए प्रासंगिक कोड देखने की आवश्यकता होगी कि यहां क्या हो रहा है। – jfriend00
आप वास्तव में कैसे देखते हैं कि 'socket.emit' क्लाइंट से काम कर रहा है? क्या आपने इसे पहले या बाद में 'console.log' रखा था? क्या आप अभी भी सर्वर पर "उपयोगकर्ता से कनेक्ट" हो रहे हैं जिसका मतलब है कि सॉकेट कनेक्ट होता है लेकिन क्लाइंट से निकलता नहीं मिलता है? सर्वर और क्लाइंट दोनों पर कुछ 'socket.emit/on ('test') '(उपयुक्त कंसोल लॉग संदेशों के साथ) डालने का प्रयास करें जो किसी भी बातचीत के बिना ट्रिगर करता है यह देखने के लिए कि कम से कम पहले संपर्क में संचार होता है या नहीं समस्याएं बाद में शुरू होती हैं। – laggingreflex
@ लैगिंगफ्लेक्स: मैंने ब्रेकपॉइंट्स का उपयोग यह देखने के लिए किया है कि कोड 'socket.emit' पर जा रहा है। मैंने यह जांचने के लिए बहुत सरल कोड के साथ प्रयास किया है कि पहला संपर्क हो रहा है या नहीं, और मैं देख सकता हूं कि संदेश सर्वर पर नहीं जा रहे हैं। –