实现asp.net mvc chat全双工

时间:2022-08-26 18:36:18

I want to create a Facebook/Gmail like chat me for my social network.

我想为我的社交网络创建一个Facebook / Gmail,就像聊聊我一样。

I'm looking for the best technique to achieve it. I found several libraries, but I do not know what the most appropriate

我正在寻找实现它的最佳技术。我发现了几个库,但我不知道最合适的是什么

The prerequisites are:

先决条件是:

  • framework c#
  • 框架c#
  • low bandwidth consumption
  • 低带宽消耗
  • chat integrated into the site, if the user changes page, the connection should stay alive
  • 聊天集成到网站,如果用户更改页面,连接应保持活跃
  • Free library (not paid)
  • 免费图书馆(未付费)
  • shared hosting, can not install nothing on web server
  • 共享主机,无法在Web服务器上安装任何内容
  • if possible take advantage webSocket for browsers that support it and fall back to flash or similar automatically if not supported
  • 如果可能的话,将webSocket用于支持它的浏览器,如果不支持则自动回退到flash或类似的
  • one to one chat
  • 一对一聊天
  • If possible I would avoid Silverlight (with full duplex wcf) and use HTML / jquery chat
  • 如果可能的话,我会避免使用Silverlight(使用全双工wcf)并使用HTML / jquery聊天
  • compatible with all browsers
  • 兼容所有浏览器

I found the following libraries, but many do not provide a c# implementation or need to install a COMET web server or need to install components on web server

我找到了以下库,但很多都没有提供c#实现或需要安装COMET Web服务器或者需要在Web服务器上安装组件

I believe that use a technique such as Reverse Ajax consume a lot of bandwidth, right? What is the best,free,documented and c# implemented libray with low consume of bandwith that you would use?

我相信使用反向Ajax等技术会占用大量带宽,对吧?什么是最好的,免费的,有文档的和c#实现的libray,你会使用带宽消耗低?

thanks

谢谢

1 个解决方案

#1


1  

Personally, until you have measures that you need things like comet, I would use basic JSON polling with things like throttling (so you slow down the polling on quiet rooms). And a very basic "nothing had changed" message. For an example, click the "chat" link above. It is simple and pragmatic...

就个人而言,除非你有需要像彗星这样的东西的措施,否则我会使用基本的JSON轮询来控制限制(这样你就可以放慢安静房间的轮询速度)。而且这是一个非常基本的“没有改变”的信息。例如,单击上面的“聊天”链接。它简单实用......

Re keeping between pages; trickier especially if you don't want Silverlight. We use a few HTML 5 tricks there to avoid hammering the connections.

重新保持页面;特别是如果你不想要Silverlight,那就更难了。我们在那里使用一些HTML 5技巧来避免锤击连接。

#1


1  

Personally, until you have measures that you need things like comet, I would use basic JSON polling with things like throttling (so you slow down the polling on quiet rooms). And a very basic "nothing had changed" message. For an example, click the "chat" link above. It is simple and pragmatic...

就个人而言,除非你有需要像彗星这样的东西的措施,否则我会使用基本的JSON轮询来控制限制(这样你就可以放慢安静房间的轮询速度)。而且这是一个非常基本的“没有改变”的信息。例如,单击上面的“聊天”链接。它简单实用......

Re keeping between pages; trickier especially if you don't want Silverlight. We use a few HTML 5 tricks there to avoid hammering the connections.

重新保持页面;特别是如果你不想要Silverlight,那就更难了。我们在那里使用一些HTML 5技巧来避免锤击连接。