代码之家  ›  专栏  ›  技术社区  ›  Alon Gubkin

ASP.NET中的聊天应用程序

  •  2
  • Alon Gubkin  · 技术社区  · 15 年前

    我要为一个朋友在ASP.NET中编写一个Ajax聊天Web应用程序,我有一个问题:如果client1向client2发送消息,那么该如何将消息发送给client2?有没有比向服务器发送请求、“询问”是否有新消息更好的方法?是否可以直接将消息发送到客户端?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Pablo Santa Cruz    15 年前

    你能做的最好的事就是使用 Persistent HTTP Connection .谷歌与谷歌的对话方式 GMAIL 网站。

        2
  •  0
  •   Wayne    15 年前

    记住 HTTP 是一个无状态协议,每个事务都是从客户机发送到服务器的。

    服务器可以使用会话来确定这个客户机是否“已知”,但是对于使用普通的旧HTTP将信息发送回客户机,我认为这是不可能的(我的意思是从服务器启动的连接,而不是对客户机的响应)。

    您需要使用javascript来轮询服务器以获取信息。

    如果你想用另一种方式,你可以使用Java或Flash,但是你还需要考虑NAT隧道、代理服务器和其他客户端可能使用的奇怪设置。

        3
  •  0
  •   Anwar Chandra    15 年前

    不,我认为服务器不能向客户端的浏览器发送消息。 以下是我如何实现聊天应用程序:

    1. 客户端1通过Ajax向服务器发送消息
    2. 服务器将其保存到存储库(我正在使用 singleton 对象)
    3. 客户端2从存储库获取消息
    4. 将邮件标记为已读

    一旦聊天会话关闭或过期,我将把聊天日志保存到数据库中。