ASP.Net app中的音频/video/文本聊天

我需要在ASP.Net中开发一个聊天系统。 我已经经历了很多关于类似主题的问题,但没有发现任何一个令人满意的问题。 是否可以从头开始创建它,或者我需要去寻找一些API。 我的要求仅限于我的网站用户,可以说基于内联网。

请帮我。

要进行文本聊天,我们可以认为您可以使用简单的表格,每个人都可以在其上书写,每次都可以阅读,并将其显示在页面上。

这是一个示例http://www.codeproject.com/KB/ajax/ChatRoom.aspx

video/音频聊天很复杂。 你可以从这个例子开始

http://www.codeproject.com/KB/IP/videochat.aspx

你可以在这里阅读更多内容: 如何使用ASP.NET中的video?

文字聊天相对简单。 它涉及三层架构。 1)Javascript计时器。 2)WCF Ajax启用Web服务或Generic Http Handler,3)数据存储(最好是SQL)。

1)在页面上 – 发送:输入文本框+按钮(用于发送)。 按钮单击事件处理程序或文本框的键向下(用于输入键)和模糊事件将调用post(通过JQuery,普通ol’JavaScript或您使用的任何Javascript库)到WCF服务/通用处理程序,发送内容文本框,以及图表室名称,收件人和收件人。

2)在服务器上:WCF服务/通用Http处理程序接收post并将其存储在DB中。

3)在页面上 – 接收:例如,使用JQuery,您可以在文档就绪时创建一个javascript计时器(当页面加载时)。 在每个计时器的tick事件中,您希望通过方便的JavaScript框架(或Plain Javascript)创建GET(或发布)到您的WCF服务/ Generic Handler,请求存储在该聊天室的DB中的最新记录。 将收到的结果(假设为xml / html / json)附加到Div或用于显示“聊天”的任何元素。

这是jquery / asp.net中非常简化的聊天。

就音频video而言,您遇到了一些问题。 1)除非使用插件,否则浏览器本身无法与麦克风,扬声器和摄像机进行交互。 此外,浏览器通常无法知道如何解码video流(尽管一些更智能的内容已经内置了… chrome,firefox)。 3)Javascript无法与浏览器中的所有必需硬件进行交互。

总而言之,您可以使用Flash或Silverlight等插件(内置对必要硬件的访问权限)等等。 你也必须同时处理2个流 – 一个用于进入,另一个用于外出并显示两个流,因此你也会遇到一个概念上的困境。 但是有可能。