none
android应用RDP协议的求助! RRS feed

  • 问题

  • 系统介绍:我在开发一个android下面的RDP客户端,

    参考了rdesktop的开源资料,www.rdesktop.org,这是一个linux下代码,

    现在碰到的问题是:据我所知,登陆远程桌面之后,客户端显示的鼠标形状是服务端数据传过来的,

    比如,光标位置在一个edit控件上面的时候,服务端会通知客户端,并把鼠标类型及数据传输过来,

    参考资料

    http://msdn.microsoft.com/en-us/library/cc240618(v=prot.10)

    资料的数据如何转成位图信息?

    代码如下:

    in_uint16_le(s, cache_idx);
    in_uint16_le(s, x);
    in_uint16_le(s, y);
    in_uint16_le(s, width);
    in_uint16_le(s, height);
    in_uint16_le(s, masklen);
    in_uint16_le(s, datalen);
    in_uint8p(s, data, datalen);
    in_uint8p(s, mask, masklen);
    if ((width != 32) || (height != 32))
    {
    warning("process_colour_pointer_common: " "width %d height %d\n", width, height);
    }
    /* sometimes x or y is out of bounds */
    x = MAX(x, 0);
    x = MIN(x, width - 1);
    y = MAX(y, 0);
    y = MIN(y, height - 1);
    cursor = ui_create_cursor(x, y, width, height, mask, data, bpp);

    我不知道data和mask数据是什么格式的,并且我发现,当width = height=32的时候,

    似乎是位图资料的data是有128字节,这是不是经过压缩的?

    请了解相关技术的帮忙,很紧急。


    • 已编辑 fans_yi 2012年7月26日 2:52
    2012年7月26日 1:09

全部回复

  • 该问题已经解决。

    原因是客户端协商请求光标数据的大小和解析过程的数据不统一,导致解析过程出错,

    代码是正确的。

    2012年7月31日 3:35
  • 你好,在android上开发rdp客服端的资料很少,我现在需要将rdesktop移植到Android上,请问您知道与这相关的解决方案吗,能否指导一下,谢谢。

    2012年11月12日 9:00