Dans l'application de discussion générale, le navigateur du client interroge toujours le serveur pour rechercher de nouveaux messages.Transfert de données du serveur vers le navigateur via http
// the function to check new messages in server
function check(){
// but this question is less about jQuery.
$.ajax({
type: "POST",
url: "check.aspx",
data: "someparam=123",
success: function(msg){
// process msg here
// CHECK IT AGAIN, but sometimes we need to make delay here
check();
}
});
}
Puis je lis Nicholas Allen's blog about Keeping Connections Open in IIS.
Il me fait penser s'il est possible de pousser les données de mon serveur vers le navigateur du client par transfert HTTP tronqué (cela signifie que le streaming, non?) Et garder la connexion ouverte.
tout en maintenant la connexion ouverte, dans le serveur, j'ai l'idée de garder quelque chose à courir pour vérifier les nouveaux messages. quelque chose comme ça, peut-être
while(connectionStillOpen) {
// any new message?
if(AnyMessage())
{
// send chunked data, can I?
SendMessageToBrowser();
// may be we need to make delay here
Sleep(forSomeTime);
}
}
c'est une idée brute.
Mon application de chat créée dans ASP.net. Avec mon moins de compréhension de WCF et de module avancé de streaming IIS, j'ai besoin de vos conseils pour mettre en œuvre cette idée.
Oui, Impossible est probablement la réponse. Mais j'ai besoin de savoir pourquoi si c'est toujours impossible.
MISE À JOUR (3 ans plus tard):
C'est exactement ce que je cherchais: Microsoft ASP.NET SignalR
une bonne ressource. Merci. –