从网站远程启动桌面应用程序


Remotely launching a desktop application from a web site

我希望创建一个(很可能是php) web服务器,用户可以登录并通过互联网发送消息到一个c#应用程序,该应用程序在用户的任务栏上运行在他们的家庭pc上并显示消息。

LogMeIn和Dropbox似乎都将数据"推送"到用户的pc,而没有任何需要的信息(桌面端没有静态ip地址),所以它必须是可能的,但我不确定如何。

任何帮助将非常感激,谢谢!

例如,启动LogMeIn后,它将打开一个端口并将其IP发送到LogMeIn服务器。他每隔X分钟/小时做一次。如果LogMeIn服务器对您的客户端有请求,它将在特定端口上向您的IP发送请求。

我猜

也可以从客户端PC轮询整个时间,发送一个数据包到服务器,如果服务器有什么,返回一个特殊的数据包。否则只是一个简单的回复,表示服务器收到了。

我的方法是让c#桌面应用程序充当服务器并监听套接字连接。然后,PHP应用程序可以连接请求,发送所需的数据,然后关闭连接。

连接到另一台计算机的唯一方法是使用某种地址。这些服务可能有一个当前用户ip的中央数据库。在您的情况下,您的c#应用程序将知道计算机的"用户名",并且每次启动时,它都可以使用当前外部IP更新数据库中的字段。然后PHP脚本可以获取它来连接。
  1. 客户端应用程序在打开时使用其IP地址更新集中式数据库。最好的方法可能是在客户端应用程序获得互联网连接时更新钩子上的值(因为这是IP将更改的时候)。
  2. 客户端应用程序公开一个服务端点(WCF/SOAP很容易),它执行一些工作(例如显示消息框)
  3. 您的服务器向客户端应用程序发送SOAP消息。SOAP本质上是XML,所以您可以让PHP相当容易地完成这项工作。

如何执行客户机/服务器通信取决于您。WCF/SOAP只是一种方法,但它非常简单。您可能希望使用某种服务端点框架来避免自己编写所有的管道(不需要重新发明轮子)。WCF服务也可以在不安装IIS的情况下运行

你做了多少?我也想这么做。

我的想法是我会有c# App'服务,它将继续拍摄我的桌面的连续屏幕截图,并不断将它们发送到我拥有的web服务器,在登录认证后的web服务器上,web登录不是桌面,我将在网页上显示流式桌面,并将继续发送鼠标位置和点击&右击数据库,再次我的c#应用程序'服务将不断监控,并将解释这些鼠标运动和点击,并播放他们'执行他们在我的台式电脑上有一个输入钩子或其他东西,

然后我可以从任何地方打开我的网页,我将有一个WEB BASE远程桌面连接。

到目前为止我已经到达这里http://moon.pk/sad/

我正在发送捕获的屏幕截图到我的web服务器的MySQL DB,这需要一分钟以上的传输,所以帧率将是0.75 fps。