spice client 和 spice server 通信机制
时间:2025-07-08
时间:2025-07-08
spiceclient和spiceserver通信机制
〇、基本原理
目前的Channel类型枚举值定义如下:
enum{
SPICE_CHANNEL_MAIN=1,
SPICE_CHANNEL_DISPLAY,
SPICE_CHANNEL_INPUTS,
SPICE_CHANNEL_CURSOR,
SPICE_CHANNEL_PLAYBACK,
SPICE_CHANNEL_RECORD,
SPICE_CHANNEL_TUNNEL,//没定义USE_TUNNEL,则此Channel无效SPICE_END_CHANNEL
};
每个Channel就是客户端与服务端一个的网络连接。
客户端将每个Channel实现为一个单独的线程,实现方式是定义一个以单独线程运转的
RedChannel基类,然后从此基类中派生所需要的具体功能类,客户端Channel类包括:RedClient、DisplayChannel、CursorChannel、InputsChannel、PlaybackChannel、RecordChannel、TunnelChannel。
服务端Channel的工作相对复杂一点,部分Channel工作在Qemu主线程,另一部分在工作在libspice的单独线程中,服务端的网络模型参见文档02。
上一篇:京津SCAD系统简介