2012-04-04 55 views
0

我想構建一個視頻通話應用程序。它可以是基於網絡的,也可以是桌面應用程序。我已經成功地生產使用Silverlight一個基於web的一個,但我的主機服務器上的服務器部分時(GoDaddy代管),下面的代碼:視頻會議 - 使用SilverLight的ASP.net

Listener_Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); 
Listener_Socket.Bind(new IPEndPoint(AddressAr[0], Port)); 
Listener_Socket.Listen(-1); 

(主要是.Bind語句)生成以下異常:

Request for the permission of type 'System.Net.SocketPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed 

at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet) 
at System.Security.CodeAccessSecurityEngine.Check(CodeAccessPermission cap, StackCrawlMark& stackMark) 
at System.Security.CodeAccessPermission.Demand() 
at System.Net.Sockets.Socket.Bind(EndPoint localEP) 
at WebApplication3.SocketCoderVideoServer.Start_A_Server_On(Int32 Port) 

我可能的解決方案是什麼?另外,如果我放棄下面的項目,那麼最好的選擇是什麼?如果可能的話,我不再需要服務器來聆聽新的連接?

請幫我,因爲我需要一個視頻會議設立儘快...

感謝

+3

「請幫助我,因爲我需要立即設置視頻會議」 - 然後使用下架的東西.... – 2012-04-04 23:44:06

+0

您的網站託管在[中/低/最小環境](http:// msdn .microsoft.com/en-us/library/wyts434y.aspx),因此通過代碼訪問安全性阻止訪問框架的某些部分。最快的解決方案是放棄共享主機並獲得虛擬服務器。這樣您就可以完全信任地託管自己的網站和服務。您可以從許多不同的服務中獲得每月大約40bux的虛擬服務器。 – Will 2012-04-05 14:50:31

回答

1

的主機是不授予您的代碼來創建權限和使用插座 - 這是有道理的,因爲GoDaddy的會不想託管代碼來創建和使用任意套接字連接,這將是一個安全和性能的噩夢。

我的建議是嘗試使用一些第三方服務已經啓動並運行 - Skype和MSN Messanger都支持視頻會議,您不能利用它嗎?

我認爲,基於XMPP協議的即時通訊服務器可以詢問服務視頻以及 - 見http://xmpp.org/about-xmpp/

1

如果使用閃光燈和RTMP服務器實現地方你有更好的運氣。我花了太多時間讓視頻會議在Silverlight上工作,而這只是沒有做到。除非您打算花費接下來的幾年來解決這些問題,否則您需要本機地運行代碼,而Flash提供這些代碼,而Silverlight則不會。