接收事件我有一个正在通过IIS节点托管的服务器的NodeJS套接字连接的Web应用程序。连接似乎是正确的,因为我解决了我最初拥有的客户端上的404轮询错误。但是现在,它看起来像客户端没有从IIS节点接收套接字事件。客户端没有从SocketIO通过IIS节点
我的理论是,因为IIS节点像个代理,事件发送回客户端在IIS节点级别的地方停止。
exports.register = function(socket) {
User.schema.post('save', function (doc) {
console.log("Save socket");
onSave(socket, doc);
});
}
function onSave(socket, doc, cb) {
socket.emit('User List Update', doc);
}
在Node中,上述事件触发,但在前端未收到。
客户看起来是这样的:
var socket = io.connect("http://myinternallyhostedserver:7777/reception");
socket.on('User List Update', function() {
console.log('Received socket event!');
if (vm.enableAlert) {
vm.alertSound.play();
}
vm.getUsers();
});
我的web.config文件看起来是这样的:
<configuration>
<appSettings>
<add key="virtualDirPath" value="/reception" />
</appSettings>
<system.webServer>
<handlers>
<add name="iisnode" path="server/app.js" verb="*" modules="iisnode" />
</handlers>
<iisnode enableXFF="true" />
<webSocket enabled="false"/>
<rewrite>
<rules>
<rule name="reception">
<match url="/*" />
<action type="Rewrite" url="server/app.js" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
运行所有这一切都在我的本地机器上正常工作。套接字事件被发送和接收。将IIS节点添加到工作流中似乎是停止工作的地方。任何帮助将不胜感激。
看看这有助于? https://github.com/tjanczuk/iisnode/issues/402,https://github.com/tjanczuk/iisnode/issues/268和http://blog.novanet.no/scaling-concurrent-connections-with-节点JS和插孔-IO-ON-IIS/ –
你能请添加您的Server.js随着socket.on事件,我只看到Socket.emit()事件 – muthukumar