spice client 和 spice server 通信机制(3)
时间:2025-07-08
时间:2025-07-08
_channels.push_back(channel);
channel->start();//启动RedChannel类的工作线程
channel->connect();//激活condition
_migrate.add_channel(newMigChannel(type,id,
channel->get_common_caps(),channel->get_caps()));
}
建立Channel的详细步骤及消息传递流程如下:(s表示server代码,c表示client代码)s:reds_init_net,创建listensocket,增加监听watch_add(reds_accept)
c:RedChannel::run-》RedChannelBase::connect()-》RedPeer::connect_unsecure发送连接请求,等待服务端accept
s:reds_accept-》reds_accept_connection,
reds_handle_new_link-》obj->done=reds_handle_read_header_done,
async_read_handler-》cb_read堵塞,等待客户端发送link消
息
上一篇:京津SCAD系统简介