我将应用程序托管在openshift上。我正在使用自定义域。而且socket.io无法下载客户端脚本,因此我只使用了CDN。但是现在它无法连接到名称空间。这些是控制台日志上给我的错误
这是我在.html页面上的客户端代码,用于下载客户端脚本
<script src="https://cdn.socket.io/socket.io-1.3.7.js"></script>
和.js索引页面以连接到索引名称空间
var socket = io("http://www.loomius.com/index");
这是我的服务器端代码
var express = require('express');
var app = express();
var http = require('http');
var io = require('socket.io')(http);
var mongoose = require('mongoose');
var favicon = require('serve-favicon');
var bodyParser = require('body-parser');
var https = require('https');
// listening on the port
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || process.env.PORT || 3002);
app.set('ip', process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1");
http.createServer(app).listen(app.get('port') ,app.get('ip'), function () {
console.log("✔ Express server listening at %s:%d ", app.get('ip'),app.get('port'));
});
首先代替
var socket = io("http://www.loomius.com/index");
用它来解决需要CDN的问题
var socket = io.connect("/");
然后在服务器上使用它代替
http = http.createServer( app ).listen( process.env.PORT, process.env.IP || "0.0.0.0", function() { // or define ip and port manually
var io = require( 'socket.io' )( http );
io.on('connection', function( socket ) {
// add event listeners here
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句