在这里,我得到了信号器的位代码并包括在内 .
客户端代码
$(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()函数,但想想当我向特定客户端发送数据或消息时,如果那是客户端不再连接那么会发生什么?
在信号器中是否有任何规定,我们可以在将数据传送到特定客户端之前确定客户端已连接 .
我想在将数据发送到客户端之前检测特定客户端是否已连接 . 如果客户端未连接,那么我将数据存储在该特定用户的数据库中 . 请帮我提供如何检测特定客户端是否连接的示例代码?谢谢
1 回答
我对此有一个建议 . 在
Chat
类中声明static List
. 使用以下代码来执行OnConnect
事件 .并且有
OnDisconnect
方法 .在
send
方法上仅对连接的客户端执行 .你可以参考这个link