*cocos2dx 内部的网络库
HttpRequest HttpClient HttpReponse
curl等参考:
http://www.cnblogs.com/sevenyuan/p/3897625.html
参数参考:
https://yq.aliyun.com/articles/45064
curl_easy_perform
http://blog.sina.com.cn/s/blog_7e0127220100zfbf.html
1.异步连接
HttpRequest是请求,设置好请求方式,url,发送的具体数据等。然后通过HttpClient发送数据。
HttpReponse 是在 HttpRequest设置的回调中,进行处理。
好处:使用异步连接,程序和联网的方法将互相不干扰,联网方法将为一个独立的线程。
2.同步连接 curl
好处:使用同步连接,联网方法的启动就直接阻塞游戏主进程的运行,直到获取到返回值为止。
*自己封装的网络库
1.网络线程
C++11多线程std::thread的简单使用(http://www.cnblogs.com/sevenyuan/p/4060424.html)
detach
join
C++11 mutex方便的自解锁lock_guard利用堆栈上对象的生命周期去管理锁http://www.jb51.cc/article/p-doiyjxcv-bod.html
2.主线程
cocos2d::Director::getInstance()->getScheduler()->scheduleUpdate( this,false );
多线程std::thread的使用以及performFunctionInCocosThread函数http://www.jb51.cc/article/p-yzmzjxtr-bcn.html
performFunctionInCocosThread 这样可以保证:在其它线程中调用的函数让cocos2dx线程去处理。