हे, मैं क्रॉस डोमेन के साथ socket.io का उपयोग करने की कोशिश कर रहा हूं। उदाहरण के लिए कहें डोमेन हैं: https://client.domain.com और https://server.domain.com। मेरे क्लाइंट पक्ष कोड इस तरह दिखता है:socket.io लगातार गलत पते पर मतदान का उपयोग करने की कोशिश करता रहता है
socket = io.connect("https://server.domain.com");
socket.on("connect", function() {
console.log("socketio Connected to server!");
});
socket.emit("test", {"test":"test"});
और सर्वर साइड:
var fs = require('fs');
var https = require('https');
var express = require('express');
var socketIO = require('socket.io');
var app = express();
// Settings
var serverOptions = {
key: fs.readFileSync('privkey1.pem'),
cert: fs.readFileSync('cert1.pem')
};
var serverPort = 443;
// Logic
var server = https.createServer(serverOptions, app);
var io = socketIO(server);
io.on('connection', function(socket) {
socket.on("test", function(data) {
console.log(data);
});
});
server.listen(serverPort, function() {
console.log('server up and running at %s port', serverPort);
});
सब कुछ काम करता है, संदेशों आगे पीछे भेजा। लेकिन कुछ reasone socket.io मतदान और गलत डोमेन पर उपयोग करने की कोशिश करता रहता है। लगभग हर सेकेंड मैं इन अनुरोधों को देखता हूं:
Request URL:https://client.domain.com/socket.io/?EIO=3&transport=polling&t=1452418594321-145
Request Method:GET
Status Code:302 OK
सॉकेट.ओ ऐसा क्यों कर रहा है और मैं इसे कैसे बंद कर सकता हूं?
संपादित करें: और अधिक दिलचस्प बात यह है कि यदि मैं सॉकेट.ओओ के साथ करने के लिए सभी कोड को टिप्पणी करता हूं और केवल <script src="https://server.domain.com/socket.io/socket.io.js"></script>
में छोड़ देता हूं तो यह अभी भी इन HTTP अनुरोधों को पहले वर्णित करता रहता है।
EDIT2: सुनिश्चित नहीं है कि यह कोई फर्क नहीं पड़ता है लेकिन वास्तविकता में डोमेन एक डोमेन के सबडोमेन नहीं हैं। वे https://clientdomain.com
और https://serverdomain.com
हैं।
आपका एचटीएमएल 'client.domain.com' से परोसा जा रहा है, है ना? – cviejo
इसे दोहराना नहीं है। मुझे पहले 'io.connect'' कॉल करने से पहले मुझे कोई भी अनुरोध नहीं दिख रहा है .... – cviejo
डीबग जानकारी '' DEBUG = socket.io * नोड myapp'' –