什么是屏幕共享的最佳方法c#

时间:2012-12-06 07:58:03

标签: c# desktop screensharing

我想开发一个小型通信应用程序,例如服务器中将托管一个wcf服务,并且会有一个桌面客户端。假设两个人通过wcf服务互相交流。当client1将数据发送到client2时,数据将转到wcf服务,wcf服务将数据推送到client2。借助wcf服务轻松开发基础通信应用程序。我想在我们的应用程序中添加一个名为屏幕共享的实用程序。

client1会将他的桌面屏幕发送到client2。我知道很容易捕获桌面图像并将整个图像转换为字节数组,然后将字节数组传递给client2,client2可以将字节数组转换为图像并将图像设置为他的picturebox。如果我将整个图像发送到每次网络表现都会变坏和变慢。所以我需要知道人们如何开发应用程序以与其他人共享屏幕以及他们如何通过网络发送最少的数据。我搜索谷歌很多,以获得实际的标准,但没有。

所以我要求论坛的每一个人都请用现实生活概念详细讨论这个问题。

我的观点是

1)告诉我如何通过网络仅在两个图像之间发送差异,而不是再次发送整个图像。再次。许多图像处理库可用于获取两个图像之间的差异,但我不知道哪个是最好的,并且会更快....只需要几毫秒来获得两个图像之间的差异。

2)在提取两个图像之间的差异后,我可以通过网络发送差异,但在客户端2侧,我如何应用当前图像的差异。这是非常重要的。

3)当在client2频繁更新picturebox时,闪烁可能是明显的。我怎么能避免这种闪烁,而不是如何在client2端实现图像的平滑转换。

我需要帮助的方式,如果有可能那么请建议我带有代码片段的库,我可以使用它来提取两个图像之间的差异。

还告诉我在client2端可以使用什么例程在当前图像上应用diff。

再次告诉我如何在没有闪烁的情况下实现client2端图像的平滑转换。

很多学者每秒都会访问这个论坛,所以我希望c#中的pesudo代码可以详细讨论。感谢

1 个答案:

答案 0 :(得分:2)

不要开始编写自己的Remote Desktop Protocol项目。首先使用现有库。