我有一个实现Socket.io的Node JS应用程序。该应用程序可以在测试过程中完美托管。但是,当部署到Azure Apps时,它开始出现异常行为。 在分析请求后,我发现了两个差异。
注意:我的azure应用程序已启用websocket。
我不知道可能是什么问题。任何帮助,将不胜感激。请让我知道是否需要应用程序代码来调试问题。
编辑:根据要求添加代码。 服务器端代码:
var express = require('express');
var app = express();
var ExpressPeerServer = require('peer').ExpressPeerServer;
var options = {
debug: false
}
var server = require('http').createServer(app);
var io = require('socket.io').listen(server);
server.listen(process.env.PORT || 3000);
app.use('/peerjs', ExpressPeerServer(server, options));
客户端代码
$(document).ready(function(){
//localhost:3000 to be replaced by Azure Site URL
var socket = io.connect("localhost:3000");
var peer = new Peer({host: "localhost", port: "3000", path: "/peerjs"});
//further operations with peer and socket
}
答案 0 :(得分:0)
将server.listen(process.env.PORT || 3000);
更新为server.listen(process.env.port);
似乎已解决了该问题。但是,套接字连接仍然不起作用。我假设PeerJS和Socket.IO的实现都可能引起某种冲突。