我想开发一个小型通信应用程序,例如在服务器中托管一个 wcf 服务和一个桌面客户端。假设两个人通过 wcf 服务进行交互。当 client1 将数据发送到 client2 时,数据将转到 wcf 服务,wcf 服务会将数据推送到 client2。借助 wcf 服务轻松开发基本的通信应用程序。我想在我们的应用程序中添加一个实用程序,称为屏幕共享。
client1 会将他的桌面屏幕发送给 client2。我知道捕获桌面图像并将整个图像转换为字节数组然后将字节数组传递给client2和client2可以将字节数组转换为图像并将图像设置到他的图片框非常容易。如果我将整个图像发送过来网络每次然后性能会很差而且很慢。所以我需要知道人们如何开发应用程序以与他人共享屏幕,以及他们如何通过网络发送最少的数据。我搜索谷歌很多以获得实际标准,但没有。
所以我要求这个论坛的每个人都请用现实生活的概念详细讨论这个问题。
我的积分是
1) 告诉我如何只通过网络发送两个图像之间的差异,而不是一次又一次地发送整个图像。有很多可用的图像处理库可用于获取两个图像之间的差异,但我不知道哪一个是最好的并且会更快......只需几毫秒即可获得两个图像之间的差异。
2)在提取两个图像之间的差异后,我可以通过网络发送差异,但在客户端 2 端,我如何将差异应用于当前图像。这个非常重要。
3) 当图片框在客户端 2 频繁更新时,可能会出现明显的闪烁。我怎样才能避免这种闪烁,而我怎样才能实现客户端 2 端图像的平滑切换。
我需要帮助的方式,如果可能的话,请向我推荐带有代码片段的库,我可以用它来提取两个图像之间的差异。
还告诉我我可以使用什么例程在 client2 端的当前图像上应用差异。
再次告诉我如何在客户端 2 端实现图像的平滑切换而不会闪烁。
每秒都有很多学者访问这个论坛,所以我希望用 c# 中的伪代码进行详细的讨论。谢谢