首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过internet在.net应用程序之间发送数据

通过internet在.net应用程序之间发送数据
EN

Stack Overflow用户
提问于 2011-04-18 21:20:15
回答 4查看 225关注 0票数 3

我正在通过互联网从windows应用程序向asp.net web服务发送由xml组成的小消息(每个消息大约1-2KB)。

99%的时间都能正常工作,但有时一条消息会花费过多的时间,25 - 30秒,而不是通常的4-5秒。此延迟还会导致消息无序到达。

有没有什么办法可以解决这个问题,让所有的消息都能快速地按顺序到达,或者在以这种方式使用web服务时,这是不可能的?

如果不可能解决,我可以请得到一个低延迟的消息传递框架的建议,可以在互联网上按顺序传递消息。

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-04-18 21:29:24

存在吗?我可以解决这个问题,这样所有的消息都会按顺序快速到达,或者当以这种方式使用web服务时,这是不可能的吗?

仅仅使用webservices是不可能的。你总是会遇到一些情况,有时候事情会比“应该”花更长的时间。这是网络编程的本质,您必须绕过它。

我也推荐使用XMPP来处理这样的事情。有关该标准的信息,请访问xmpp.org,有关.Net的一组客户端库,请访问jabber-net

票数 1
EN

Stack Overflow用户

发布于 2011-04-18 21:26:12

好吧,这有点偏离目标,但是您是否了解了XMPP (Jabber)协议。它是GTalk使用的消息传递系统。使用起来相当简单。唯一的缺点是,您将需要一个有状态服务来接收和处理消息。

我也同意@Mat的评论。这是我想到的第一个解决方案,然后我记起我在pas中使用XMPP在服务器之间完成快速/小型和可靠的消息。

http://xmpp.org/about-xmpp/

如果你搜索谷歌,你会很容易找到支持这个协议的.net库。而且有很多免费的jabber服务器。

票数 0
EN

Stack Overflow用户

发布于 2011-04-18 21:27:05

确保消息按顺序发送并作为批处理一起解析的一种方法是,对way服务进行一次调用,并将所有相互依赖的消息作为单个批处理进行处理。

传统上,当您调用web服务时,您不会期望对web服务的其他调用会以特定的顺序发生。听起来你有一个隐含的序列,数据需要到达目标应用程序,这让我认为你需要将你的消息分组在一起,并一起发送它们,以确保该顺序。

无论消息传递框架的速度有多快,您都不能保证防止可能乱序发送消息的竞争条件,除非您发送的一条消息的数据顺序正确。

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

https://stackoverflow.com/questions/5703526

复制
相关文章

相似问题

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