网狐框架分析一 -- 150616


---
#1. 基本流程
    客户端同服务器建立通信连接
    服务器判断游戏是否开始(客户端等待其它玩家入位再游戏或者直接和服务器进行游戏)
    客户端同服务器进行交互及客户端界面展示
    游戏结束,进入下一局,循环。
    或者客户端离开,中断连接。
    




#2.图示
##2.1 流程图


```flow
st=>start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end


st->op->cond
cond(yes)->e
cond(no)->op
```
---
##2.2 时序图


```seq
Note left of Client: html5
Client->Server: 发起登录请求(var socket=new WebSocket(host);)
Server-->QueueService::OnQueueServiceThread:
QueueService-->CAttemperEngine::OnQueueServiceSink
CAttemperEngine-->CServerSocketRSThread::OnEventThreadRun
CServerSocketRSThread-->CServerSocketItem::OnRecvCompleted  通过recv接收信息
CServerSocketItem-->CServerSocketItem::SendHandShakeData  发送握手信息到客户端
CServerSocketItem-->Client:: WSASend  (websocket专用格式) 
CServerSocketItem-->CTCPNetworkEngine::OnSocketReadEvent
CTCPNetworkEngine-->PostNetworkReadEvent::
PostNetworkReadEvent-->CQueueService::AddToQueue -->PostQueuedCompletionStatus 加入数据队列






Note left of Server: C++
Server-->Client: I am good thanks!
```


---


```seq


CServiceThread-->CQueueServiceThread::ThreadFunction()-->OnEventThreadRun()
CQueueServiceThread-->CQueueService::OnEventThreadRun()-->OnQueueServiceThread()
CQueueService-->CAttemperEngine::OnQueueServiceThread()-->OnQueueServiceSink()
CAttemperEngine-->CAttemperEngineSink::OnQueueServiceSink()-->OnEventTCPNetworkRead()
CAttemperEngineSink-->CTCPNetworkEngine:: OnEventTCPNetworkRead()-->SendData()
CTCPNetworkEngine-->CQueueService:: SendData()-->AddToQueue()-->PostQueuedCompletionStatus()


```

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值