2011-01-07 151 views
2

我需要在ASP.Net中開發聊天系統。我經歷了很多類似的話題,但沒有找到任何令人滿意的問題。是否有可能從頭開始創建它,或者我需要去尋找一些API。我的要求僅限於我的網站用戶,可以說是基於Intranet的。ASP.Net中的音頻/視頻/文本聊天應用程序

請幫幫我。

+1

這是一個非常普遍的問題。如果您在StackOverflow上找到完整的聊天系統實現,我會感到驚訝。 – 2011-01-07 10:14:54

+1

您可能需要使用Flash(或者Silverlight)。 – leppie 2011-01-07 10:52:15

回答

2

文字聊天是比較簡單的。它涉及三層架構。 1)Javascript計時器。 2)啓用WCF Ajax的Web服務或通用Http處理程序,3)數據存儲(最好是SQL)。

1)在頁面 - 發送:輸入文本框+按鈕(用於發送)。按鈕單擊事件處理程序或文本框的按鍵(用於輸入鍵)和模糊事件將調用WCF服務/通用處理程序的一篇文章(通過JQuery,普通ol'JavaScript或任何使用的JavaScript庫),發送文本框,以及圖表名稱,收件人和收件人。

2)在服務器上:WCF服務/通用Http處理程序接收該帖子並將其存儲在數據庫中。

3)在頁面 - 接收:例如使用JQuery,你可以在文檔就緒(當頁面加載時)創建一個javascript定時器。在每個計時器的滴答事件上,您希望通過便捷的JavaScript框架(或簡單的Javascript)爲您的WCF服務/通用處理程序創建GET(或發佈),以請求存儲在該聊天室的數據庫中的最新記錄。將收到的結果(假設xml/html/json)附加到Div或任何用於顯示「聊天」的元素。

這是一個非常簡單的聊天在jquery/asp.net。

就音頻視頻而言,你有一些問題。 1)除非使用插件,否則瀏覽器本身無法與麥克風,揚聲器和攝像機進行交互。此外,瀏覽器通常無法知道如何解碼視頻流(儘管其中一些更聰明的內置內置... chrome,firefox)。 3)Javascript無法與瀏覽器中所有必需的硬件進行交互。所有這一切,你可以使用一個插件,如Flash或Silverlight,(它內置了對必要硬件的訪問),或者其他任何東西。對於那些你必須同時處理2個流的人來說,你也會有一個概念上的困境 - 一個進來,另一個出去並顯示兩個流。然而這是可能的。