我要在ASP.NET上为朋友编写一个Ajax聊天Web应用程序,我有一个问题:如果client1向client2发送消息,应用程序应该如何将消息发送给client2?有没有比向服务器发送请求更好的方法,“询问”是否有新消息?是否可以直接将消息发送给客户端?
答案 0 :(得分:1)
你能做的最好的事情就是使用Persistent HTTP Connection。谷歌在GMAIL网站上使用Google Talk的方式。
答案 1 :(得分:0)
请记住,HTTP是无状态协议,每个事务都是从客户端到服务器。
服务器可以使用会话来确定此客户端是否“已知”但是使用普通旧HTTP将信息发送回客户端我认为这是不可能的(我的意思是从服务器发起的连接,而不是对客户端的响应) )
您需要使用Javascript轮询服务器以获取信息。
如果你想要反过来,你可以使用Java或Flash,但是你还需要考虑NAT隧道,代理服务器以及客户端可能正在使用的任何其他奇怪的设置。
答案 2 :(得分:0)
没有。我不认为服务器可以向客户端的浏览器发送消息。 以下是我实现聊天应用程序的方法:
一旦聊天会话关闭或过期,我会将聊天记录保存到数据库中。