【发布时间】:2016-02-20 18:18:51
【问题描述】:
我在从应用程序接收消息时遇到问题,因为有时可以,但并非总是如此,我必须按 F5 方才能恢复工作。有什么想法吗?
正确的信息:
[19:15:27 GMT+0100(Środkowoeuropejski czas stand.)] SignalR:调用 question.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR:调用的问题.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:27 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR:在集线器“问题”上触发客户端集线器事件“newMessage”。 gameController.js:19 2d856458-6874-44a9-a402-37ab6ca61cec: 你好
不正确的消息(没有答案):
[19:15:51 GMT+0100(Środkowoeuropejski czas stand.)] SignalR:调用 question.SendMessage jquery.signalR-2.2.0.min.js:8 [19:15:51 GMT+0100 (Środkowoeuropejski czas stand.)] SignalR:调用 question.SendMessage
$(function () {
$.connection.hub.logging = true;
$.connection.hub.start();
});
$.connection.hub.error(function (err) {
alert("error: " + err);
});
angular.module('app').value('gameHub', $.connection.question);
在 CTRL 中
$scope.sendMessage = function () {
gameHub.server.sendMessage($scope.message);
}
gameHub.client.newMessage = function onNewMessage(message) {
$scope.messages.push({message: message});
$scope.$apply();
console.log(message);
}
【问题讨论】:
-
如果我直接进入我聊天的页面,一切正常,如果更改我的页面并且我会返回,它会停止工作
-
您可以使用 Wireshark 等工具进入数据包级别。
-
当我调试程序时,它正在工作(进入),但如果我不这样做,有时我的页面没有得到答案。为什么?
-
我想,如果你总是使用相关的浏览器connectionId和客户端UserId来交换数据,你就不会有这样的问题。
-
您可以像这样获取connectionId(用户刷新页面时更改):var connectionId = $.connection.hub.id;
标签: javascript asp.net angularjs signalr