通过网络传输 GetBitmapBits() 安全吗?
我正在通过 HBITMAP
执行 GetBitmapBits()
操作,并将像素存储在普通的 char*
缓冲区中,并通过网络发送该缓冲区。
然后,客户端在其窗口中使用 SetBitmapBits()
“重建”位图。
我的问题很简单:是否有任何可能或可能的情况导致重建无法进行?也许是为了这些像素数据的内部字节存储格式?
不保证客户端和服务器使用相同版本的 Windows。例如,服务器可能使用 XP,而客户端可能使用 Vista 或 Windows 7。
I'm doing GetBitmapBits()
over an HBITMAP
and storing the pixels in a plain char*
buffer and sending that buffer over network.
The client is then "reconstructing" the bitmap using SetBitmapBits()
in its window.
My question is pretty simple: Is there any probable or possible situation when reconstruction might not be possible? Maybe for the internal byte storage format of these pixel data?
Client and server are not guaranteed to use the same version of Windows. Server may use XP whereas the client may use Vista or Windows 7, for instance.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
除了克里斯建议您应该使用
GetDIBits
,我可以补充一点:char
,因此由于源系统和目标系统之间可能存在不同的字节序,因此不会出现任何问题。Apart from Chris' suggestion that you should use
GetDIBits
, I can add that:char
s over the network, there cannot be any problems stemming from that due to possible different endianness between your source and target systems.GetBitmapBits 本身的文档提到您应该使用改为 GetDIBits / SetDIBits。
The documentation on GetBitmapBits itself mentions you should use GetDIBits / SetDIBits instead.