netts之 CTWSocket代码流程分析(整体是客户端请求式的)
2009-09-02 17:48
369 查看
netts之 CTWSocket代码流程分析(整体是客户端请求式的)
1、外部程序载入调用 netts.dll
2、外部程序调用 netts实现的Stock_Init_Nodialog,(Stock_Init多了个界面交互,后面一致)
3、CTSWnd::GetInstance() ,启动数据转发TSDispatchThreadMain,
线程循环读取CTSCache::的数据,PopPacket()。sleep(1000)
4、CTWSocket::GetInstance(),构造CTWSocket
5.1、CTWSocket(), 初始化数据,设置是否自动更新报价,启动TWAutoReportThreadMain线程
CTWSocket ::SetAutoReport( int bAutoReport = FALSE ); 默认是不自动更新的 与stockdrv中的413行说明有出入,// 设置接收引擎是否自动定期刷新RCV_REPORT信息,缺省为TRUE
5.2、启动登录验证工作
构建登录命令,用户名密码ConstructLoginBuffer
发送命令
接受返回数据,确认是否通过验证IsLoginOK( m_rbuffer, lenRcv )
通过后,读入市场数据 默认dat/report.now
发送初始请求数据,RequestInit()
初始化数据ConstructAskInitBuffer(),
6、TWAutoReportThreadMain,主要否则自动更新报价和请求命令发送
总循环,30秒一次
6.1 如果自动更新报价
没160个数据作为请求RequestReport,Sleep( 10000 );(长)
6.2 空闲状态
取出缓存命令,(int WINAPI RequestStockData 外部程序调用驱动时存入的命令)
发送请求数据
7、数据接收
OnReceive,CAsyncSocket通知到收据接受,
读取socket数据 Receive
缓存数据CTSCache::GetInstance().OnReceive 来接收数据处理
1、读取socket数据
2、解包DecodePacket,大包循环解。
3、TryGetPacket,分析数据类型,推入数组
到3、有tswnd转发给外部窗口。
1、外部程序载入调用 netts.dll
2、外部程序调用 netts实现的Stock_Init_Nodialog,(Stock_Init多了个界面交互,后面一致)
3、CTSWnd::GetInstance() ,启动数据转发TSDispatchThreadMain,
线程循环读取CTSCache::的数据,PopPacket()。sleep(1000)
4、CTWSocket::GetInstance(),构造CTWSocket
5.1、CTWSocket(), 初始化数据,设置是否自动更新报价,启动TWAutoReportThreadMain线程
CTWSocket ::SetAutoReport( int bAutoReport = FALSE ); 默认是不自动更新的 与stockdrv中的413行说明有出入,// 设置接收引擎是否自动定期刷新RCV_REPORT信息,缺省为TRUE
5.2、启动登录验证工作
构建登录命令,用户名密码ConstructLoginBuffer
发送命令
接受返回数据,确认是否通过验证IsLoginOK( m_rbuffer, lenRcv )
通过后,读入市场数据 默认dat/report.now
发送初始请求数据,RequestInit()
初始化数据ConstructAskInitBuffer(),
6、TWAutoReportThreadMain,主要否则自动更新报价和请求命令发送
总循环,30秒一次
6.1 如果自动更新报价
没160个数据作为请求RequestReport,Sleep( 10000 );(长)
6.2 空闲状态
取出缓存命令,(int WINAPI RequestStockData 外部程序调用驱动时存入的命令)
发送请求数据
7、数据接收
OnReceive,CAsyncSocket通知到收据接受,
读取socket数据 Receive
缓存数据CTSCache::GetInstance().OnReceive 来接收数据处理
1、读取socket数据
2、解包DecodePacket,大包循环解。
3、TryGetPacket,分析数据类型,推入数组
到3、有tswnd转发给外部窗口。
相关文章推荐
- CAS单点登录原理,CAS服务端和客户端验证流程,抓包分析,CAS代码分析
- 短视频 | 问答开源项目解读之整体代码流程和问题分析
- HBase的scan源码分析客户端部分之整体流程(一)
- Darwin RTSP点播流程代码分析
- input子系统整体流程全面分析
- 【Nutch2.2.1源代码分析之5】索引的基本流程 分类: H3_NUTCH 2014-08-25 14:18 1042人阅读 评论(0) 收藏
- linux内存源码分析 - 内存回收(整体流程)
- 网络对讲机C#服务器 Android客户端(二) C#服务器代码分析
- Unreal 代码流程分析
- 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- AndroidPN服务器与客户端代码分析
- java.net.SocketException:Software caused connection abort: recv failed 异常分析 +socket客户端&服务端代码
- HDFS源码分析DataXceiver之整体流程
- xfire 客户端代码分析
- Android4.0图库Gallery2代码分析(一) 程序整体结构
- 2440 ads启动代码的中断处理流程分析
- Redis C客户端Hiredis代码分析
- 【代码管理】GitHub超详细图文攻略 - Git客户端下载安装 GitHub提交修改源码工作流程 Git分支 标签 过滤 Git版本工作流
- 播放器客户端整体流程
- nova boot代码流程分析(五):VM启动从neutron-dhcp-agent获取IP与MAC