0

我正在尝试构建一个视频通话应用程序。它可以是基于 Web 的,也可以是桌面应用程序。我已经设法使用 SilverLight 制作了一个基于 Web 的,但是在我的服务器(由 GoDaddy 托管)上托管服务器部分时,以下代码:

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)

我可能的解决方案是什么?另外,如果我要放弃以下项目,如果可能的话,最好的替代方案是什么,我消除了服务器监听新连接的需要?

请帮助我,因为我需要尽快设置视频会议...

谢谢

4

2 回答 2

1

如果您在某处使用 Flash 和 RTMP 服务器实现,您的运气会好得多。我花了太多时间在 Silverlight 上进行视频会议,但它并不是为此而生的。除非您打算在接下来的几年中解决这些问题,否则您需要在本机运行代码,Flash 提供了这一点,而 Silverlight 没有。

于 2012-04-05T00:08:35.217 回答
1

托管未授予您的代码创建和使用套接字的权限 - 这是有道理的,因为 GoDaddy 不希望托管代码创建和使用任意套接字连接,这将是安全和性能的噩梦。

我的建议是尝试使用一些已经启动并运行的第三方服务——Skype 和 MSN Messanger 都支持视频会议,你不能利用它吗?

我认为基于 XMPP 协议的即时消息服务器也可以支持视频 - 请参阅http://xmpp.org/about-xmpp/

于 2012-04-04T23:44:39.587 回答