gpt4 book ai didi

asp.net - 通过http将数据从服务器推送到浏览器

转载 作者:行者123 更新时间:2023-12-01 01:36:08 25 4
gpt4 key购买 nike

在一般聊天应用程序中,客户端的浏览器总是轮询服务器以检查新消息。

// 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();
}
});
}

然后我读了 Nicholas Allen's blog about Keeping Connections Open in IIS .

这让我想到是否可以通过传输分 block HTTP(这意味着像流,对吗?)将数据从我的服务器推送到客户端的浏览器并保持连接打开。

在保持连接打开的同时,在服务器中,我有想法保持运行以检查新消息。像这样的东西,也许
while(connectionStillOpen) {
// any new message?
if( AnyMessage() )
{
// send chunked data, can I?
SendMessageToBrowser();
// may be we need to make delay here
Sleep(forSomeTime);
}
}

这是一个原始的想法。

我在 ASP.net 中创建的聊天应用程序。由于我对 WCF 和高级 IIS 流模块的了解较少,我需要您的建议来实现这个想法。

是的,不可能是答案。但我需要知道为什么如果它仍然不可能。

更新(3 年后):

这正是我一直在寻找的:
Microsoft ASP.NET SignalR

最佳答案

是的,将数据从服务器直接推送到浏览器客户端是不可能的。

但是您可以每隔 3 秒检查一次服务器是否有新消息,然后刷新您的客户端界面。

也许你想看看一些Comet implementations

关于asp.net - 通过http将数据从服务器推送到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1951497/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com