首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Sockets通过代理推送Silverlight中的数据?

使用Sockets通过代理推送Silverlight中的数据?
EN

Stack Overflow用户
提问于 2010-06-04 18:26:47
回答 2查看 1.1K关注 0票数 1

我目前需要使silverlight 4在浏览器中的应用程序,可以接收推送消息从服务器。我认为使用套接字是最好的方式,而且还将允许服务器和客户端之间的连接,以传输数据和更新页面。但我担心的是防火墙和/或代理服务器。有没有可能有推送技术,甚至是套接字,而在代理背后,可能会阻止端口80以外的所有东西?或者,是否有可能在端口80上有套接字连接,这将是完美的,因为它将绕过代理和防火墙。我知道silverlight有一系列可用的端口,所以我的意思是解决这个问题。

在subject...Would上通过套接字、ASP.NET AJAX或连接到ASMX服务从silverlight发送大量数据块会更快吗?

非常感谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-04 18:58:04

您无法在Silverlight中使用端口80连接到TCP套接字。正如你所说的,你可以连接的端口范围是有限的(4502-4534),仅此而已。

是的,防火墙将是一个问题,就像RDP远程访问等其他应用程序一样,客户端和服务器之间涉及的防火墙需要允许通过其中一个允许的端口号进行连接。

数据传输的速度在很大程度上取决于其编码。(我不认为AJAX在这里)。最终,使用二进制编码的套接字往往会更快一些,特别是对于频繁的小型传输。尽管HTTP有更多的开销,但是防火墙出现问题的可能性要小得多。

除非您有非常非常好的理由使用套接字,否则请使用基于HTTP的协议。如果你合理地抽象出应用程序的这一部分,你可以在以后随时交换它。

你有没有考虑过使用WCF PollingDuplex频道?这允许您在坚持使用HTTP的同时创建来自服务器的“推送”机制。此外,大部分管道工作都是为您完成的。

票数 0
EN

Stack Overflow用户

发布于 2010-06-04 19:09:10

这里有一篇关于WCF Polling Duplex (HTTP长轮询或COMET风格)的很好的文章,希望这能有所帮助。这是一个有点过时的内容,将帮助您入门。

http://tomasz.janczuk.org/2009/08/performance-of-http-polling-duplex.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2973256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档