通过Internet远程联系桌面应用程序的最佳方式

时间:2012-07-08 11:28:14

标签: c# asp.net winforms web

我想通过互联网远程将某些参数传递给桌面应用程序。我不希望我的应用程序反复联系服务器,因为许多此类应用程序可以轻松地关闭服务器。有没有办法从服务器启动连接?如何识别应用程序,因为它们中的许多应用程序在全球各地的许多计算机上运行。我不知道从哪里开始 - 我正在尝试在服务器端的C#和ASP.NET/PHP中执行此操作。请提出一些建议。

2 个答案:

答案 0 :(得分:1)

  

有没有办法从服务器启动连接?

没有。并非客户端首先与服务器联系,通知IP地址,使用端口等...服务器需要为每个客户端保留哪些服务器,希望它们不会更改(或在更改时获得更新)。

即使您不想使用它,客户长时间轮询也是您正在做的事情的正确解决方案。

答案 1 :(得分:0)

有许多不同的方法可以解决这个问题,只需开箱即用,您的应用和服务器都可以使用不同的机制来传输设置。我不推荐任何这些方法,请不要让我失望,他们都只是想法。

例如,您的服务器可以使用FTP连接,并将更新的设置输出到每台PC上的FTP服务器。您可以在运行应用程序的每台计算机上安装Filezilla之类的内容。您显然需要在路由器上配置端口转发以允许服务器FTP访问。

您可以使用电子邮件。设置您的服务器可以登录的电子邮件帐户以发送设置。您的应用可能会登录到同一个电子邮件帐户,甚至可能只需一个Gmail帐户来检索设置。

另一个想法是使用文件共享服务,如Dropbox,Google Drive或类似设备,以及可以共享设置的位置。显然,这将涉及学习任何API,我不确定这种方法是否有任何限制。

最后一个想法,也许我首选的方法是在远程服务器上托管Web服务和数据库,服务器和应用程序都将连接到同一服务以传输设置。这种方法显然是防火墙/路由器友好的,因为所有客户端都连接到Web服务以收集所需的数据。

希望这有帮助吗?