【发布时间】:2014-10-06 06:52:48
【问题描述】:
这里我得到了信号器的位代码并包含在内。
客户端代码
$(function () {
// Proxy created on the fly
var chat = $.connection.chat;
// Declare a function on the chat hub so the server can invoke it
chat.addMessage = function (message) {
$('#messages').append('<li>' + message + '');
};
$("#broadcast").click(function () {
// Call the chat method on the server
chat.send($('#msg').val());
});
// Start the connection
$.connection.hub.start();
});
服务器代码
public class Chat : Hub
{
public void Send(string message)
{
// Call the addMessage method on all clients
Clients.addMessage(message);
}
}
只需看到这一行Clients.addMessage(message); addMessage() 将在客户端调用 addMessage() 函数,但假设当我向特定客户端发送数据或消息时,如果客户端不再连接,那么会发生什么?
信号器中是否有任何规定,例如我们可以在将数据传递给特定客户端之前确定客户端已连接。
我想在向客户端发送数据之前检测特定客户端是否已连接。如果客户端未连接,那么我将为该特定用户将数据存储在数据库中。请帮助我提供如何检测特定客户端是否连接的示例代码?谢谢
【问题讨论】:
-
HTTP 是无状态的,所以我认为 SgnalR 持有连接到应用程序的客户端列表。
-
假设客户端首先连接并在几分钟后关闭他的浏览器窗口。所以我想知道在向他发送一些消息之前检测特定用户是否已连接的方法。分享你的想法....有可能吗。谢谢
-
链接不是我的答案。我想知道如何从服务器端集线器代码中检测到特定用户是否已连接。