В общем приложении чата браузер клиента всегда запрашивает новые сообщения на сервере.
// 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();
}
});
}
Затем я прочитал блог Николаса Аллена о том, как держать соединения открытыми в IIS .
Это заставляет меня задуматься, возможно ли передать данные с моего сервера в браузер клиента путем передачи фрагментированного HTTP (это означает, что потоковая передача, верно?) И держать соединение открытым .
Удерживая соединение открытым, на сервере у меня есть идея что-то запустить для проверки новых сообщений. как то так, может быть
while(connectionStillOpen) {
// any new message?
if( AnyMessage() )
{
// send chunked data, can I?
SendMessageToBrowser();
// may be we need to make delay here
Sleep(forSomeTime);
}
}
это грубая идея.
Приложение My Chat создано на ASP.net. С моим меньшим пониманием WCF и продвинутого модуля потоковой передачи IIS мне нужен ваш совет по поводу реализации этой идеи.
да, Невозможно , вероятно, ответ. Но мне нужно знать почему, если это все еще невозможно.
ОБНОВЛЕНИЕ (3 года спустя):
Это именно то, что я искал:
Microsoft ASP.NET SignalR