socket通信

步骤一:在TransactionModule中有业务请求时,检查是否有连上服务器,没有链接上则执行步骤二,如果链接状态正常,则执行步骤三。
步骤二:创建Socket,链接服务器,如果链接成功,则执行步骤三,如果链接失败则报错,请求失败,结束。
步骤三:发请求数据到服务器,判断send返回状态,如果小于0,执行步骤四,如果已发送长度等于发送长度,则执行步骤五,否则继续执行步骤三再次发送剩余数据(这里没有考虑等于0的状态)
步骤四:返回了SOCKET_ERROR错误,关闭socket,重置链接状态和创建Socket状态,返回错误,请求失败,结束。
步骤五:检查接收线程是否启动,如果线程正在运行,则执行步骤七,否则执行步骤六。
步骤六:创建线程,判断停止标志,循环执行接收数据函数(使用libevent的话,仅仅是执行dispatch),然后转到步骤七,等待数据返回。
步骤七:等待服务器数据返回,阻塞状态,如果有数据返回,则执行步骤八。

步骤八:当有数据到达时,判断接收状态,如果大于等于0,则执行步骤四,并设置线程终止标志。否则把数据添加到公共缓冲区或者公共队列(线程安全)中。

cocos2d-x scoket 解决方案

网上搜索的几篇优秀的关于socket的文章


纯c++版的
1. 跨平台的游戏客户端Socket封装
注意添加头文件
#include
#include




cocos2d-x 扩展版的
2. 包含到cocos2d-x里的tcpsocket源码


coocs2dx 简易封装的
3. cocos2d-x 跨平台Socket网络模块


cocos2d-x BSD版
4.  Cocos2d-x基于BSD Socket网络通讯模块


其他相关
5.  基于Socket的UDP和TCP编程介绍

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值