SPICE建立Channel的详细步骤及消息传递流程
来源:互联网 发布:网络名词233是什么意思 编辑:程序博客网 时间:2024/05/16 05:05
http://blog.chinaunix.net/uid-24709751-id-4035504.html
参考 http://www.cnblogs.com/D-Tec/archive/2013/04/19/3030129.html
建立Channel的详细步骤及消息传递流程如下:(s表示server代码,c表示client代码)
- s: reds_init_net, 注册回调reds_accept 创建listen socket,增加监听watch_add(reds_accept),后续加入select监听
- c: RedChannel::run-》RedChannelBase::connect()-》RedPeer::connect_unsecure发送连接请求,等待服务端accept
- s: reds_accept
- -》spice_server_add_client,reds_handle_new_link
- -》async_read_handler,异步接收数据,需要客户端发送数据,填充link->link_header结束
- c: RedChannelBase::link() -》link_mess.channel_type = _type,send 发送link请求,recive等待
- s: -》reds_handle_read_header_done,
- -》async_read_handler,填充link->link_mess
- -》reds_handle_read_link_done
- —》async_read_handler,填充link->auth_mechanism
- ->reds_handle_auth_mechanism
- ->reds_get_spice_ticket
- —》async_read_handler,填充link->tiTicketing.encrypted_ticket.encrypted_data
- —》 reds_handle_ticket
- ->reds_handle_link
- ->if (link->link_mess->channel_type == SPICE_CHANNEL_MAIN) { reds_handle_main_link(link); }
- async_read_handler-》reds_stream_read堵塞,等待客户端发送消息
reds_handle_main_link流程
-》reds_send_link_result(link, SPICE_LINK_ERR_OK);
-》reds_send_link_result(link, SPICE_LINK_ERR_OK);
- c->s: SPICE_CHANNEL_MAIN s: reds_handle_main_link,此过程的详细步骤如上
- s->c: SPICE_MSG_MAIN_INIT, c: handle_init
- c->s: SPICE_MSGC_MAIN_ATTACH_CHANNELS s: reds_send_channels
- s->c: SPICE_MSG_MAIN_CHANNELS_LIST c: handle_channels
0 0
- SPICE建立Channel的详细步骤及消息传递流程
- SPICE建立Channel的详细步骤及消息传递流程
- 建立SSM项目详细流程及所遇到的问题
- 建立ADO的详细步骤
- spice server channel 注册
- MFC传递消息的四个步骤
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- Oracle建立DBLINK的详细步骤记录
- 微商如何通过“傀儡成交话术”爆发式提升业绩
- String转为Date类型
- CentOS yum安装Apache + PHP + Tomcat7 + MySQL
- vs2015中复制C++ DLL 和.pdb文件到C#工程中bin目录的设置方法
- Android Gradle Plugin指南(五)——Build Variants(构建变种版本)
- SPICE建立Channel的详细步骤及消息传递流程
- Java 8新特性探究(六): 泛型的目标类型推断
- iOS10 UI教程视图的边界与视图的框架
- 极光推送(短信验证)
- Momentum and Learning Rate Adaptation
- 华为单板硬件面试经验
- 9.4 散列的散列
- Android Style and Theme
- JAVA Maven和ANT 安装 Linux(Ubuntu/Centos),Mac