cocos2dx lua 网络

3:
A : Tag用于标示此次网络请求。
request->setTag( "hettp test” );
B CCHttpResponse封装了网络请求的结果,所以回调函数中主要是取出CCHttpResponse中的数据
----------------------------------------
接受数据 receive 发送 send client接(收) serveice收(接)--对应的
--玩家离开桌子事件
pomelo_event("onPlayerLeaveTable")
--服务器与客户端建立连接之后,就可以通过 send(...)/receive(...)向客户端发送或从客户端接收数据;
function Receive.onPlayerLeaveTable( data )
local player = user.datas[data.player.tableIndex]
player.game_status = local_game_status.notPlayer
notice.post("onPlayerLeaveTable") ----------- 刷新UI
end

connect()—之后,(开始请求。当请求完成时会调用 callback() 函数) 响应的回调函数自动被调用
[Cocos2d-x v3.x官方文档]如何使用HttpClient

-------------------------------------------------------------------


三,服务器工作流程

有了上面的 socket API 讲解,下面来总结一下服务器的工作流程。

  1. 服务器调用 socket(...) 创建socket;
  2. 服务器调用 listen(...) 设置缓冲区;
  3. 服务器通过 accept(...)接受客户端请求建立连接;
  4. 服务器与客户端建立连接之后,就可以通过 send(...)/receive(...)向客户端发送或从客户端接收数据;
  5. 服务器调用 close 关闭 socket;

由于 iOS 设备通常是作为客户端,因此在本文中不会用代码来演示如何建立一个iOS服务器,但可以参考前文:《深入浅出Cocoa之Bonjour网络编程》看看如何在 Mac 系统下建立桌面服务器。

四,客户端工作流程

由于 iOS 设备通常是作为客户端,下文将演示如何编写客户端代码。先来总结一下客户端工作流程。

  1. 客户端调用 socket(...)创建socket;
  2. 客户端调用 connect(...) 向服务器发起连接请求以建立连接;
  3. 客户端与服务器建立连接之后,就可以通过 send(...)/receive(...)向客户端发送或从客户端接收数据;
  4. 客户端调用 close 关闭 socket;

-------------------------------------------------------------------

1: 使用socket只需知道对方的ip port即可, 不用知道自己的
2: get post,例如:(post)你在输入账号,密码 登陆时, 就要给服务器端post数据;
至于serverice咋知道。。。。
————————————————
一般是新建一个thread来解决阻塞的问题,可是我们亲爱的Lua是不支持thread的:
,就像平时我们在别的语言里写网络程序一样,当你有IO操作不想阻塞掉用户界面的时候,就只能用异步IO或者开一个专门的线程来执行IO操作,最后在IO完成的时候再通知到界面代码,这里无疑也只能这样解


require(“json") local response = xhr.response -- 获得响应数据
local output = json.decode(response,1) -- 解析json数据
table.foreach(output,function(i,v) print (i,v) end)
------------------------------- Firefly---------------
开源 游戏服务器 端框架 Firefly MIT协议,Firefly是免费、开源、稳定、快速扩展、能 “热更新”的分布式 游戏服务器 端框架,采用Python编写,业内小有名气, 使用Firefly开发手机网游产品
--------------------------------------------------------

pomelo代码分析系列1————介绍


Pomelo(库)
* 快速、易上手的游戏开发模型和api
*基于socket.io开发

 客户端的请求、响应与 web 应用是类似的, 但框架是基于长连接的,

高并发、高实时的游戏服务器的开发是很复杂的工作。跟 web 应用一样, 一个好的开源容器或开发框架可以大大减少游戏开发的复杂性,让开发变得更加容易。遗憾的是目前在游戏服务器开发领域一直没有太好的开源解决方案。 pomelo 将填补这个空白, 打造一款完全开源的高性能(并发)游戏服务器框架

Pomelo是一款游戏服务器框架, 为什么tutorial会从聊天开始?
-------------------
<<TCP字节流与UDP数据报>>

TCP是一种流模式的协议,UDP是一种数据报模式的协议”,这句话相信大家对这句话已经耳熟能详~但是,“流模式”与“数据包模式”在编程的时候有什么区别呢?

3、为什么 这种不同是由TCP和UDP的特性决定的。TCP是面向连接的,也就是说,在连接持续的过程中,socket中收到的数据都是由同一台主机发出的(劫持什么的不考虑),因此,知道保证数据是有序的到达就行了,至于每次读取多少数据自己看着办

而UDP是无连接的协议,也就是说,只要知道接收端的IP和端口,且网络是可达的,任何主机都可以向接收端发送数据。这时候,如果一次能读取超过一个报文的数据,则会乱套。比如,主机A向发送了报文P1,主机B发送了报文P2,如果能够读取超过一个报文的数据,那么就会将P1和P2的数据合并在了一起,这样的数据是没有意义的。

--------------------------------------------------海量的数据------------------------

hadoop是处理大数据的一种技术方案,什么叫hadoop如何实现大数据
我想楼主主要想知道的是hadoop 为什么能存储大数据(海量的数据)。因为hadoop 底层是基于hdfs 分布式文件存储的
1、大数据核心是什么?
我认为大数据的核心是从海量数据中挖掘有价值的信息。
2、Storm,Spark,Hadoop三个大数据处理工具谁将成为主流?
目前,hadoop比较流行吧,但是还没有一统的趋势。

storm的优点是全内存计算
hadoop ,将数据切片计算来处理大量的离线数据数据
三个应该是不同的应用方向,部分有交叉竞争的地方

-------------------------------------------------------------------------------

云计算关键技术是:
 
1、编程模式
2、海量数据分布存储技术
3、海量数据管理技术
4、虚拟化技术
5、云计算平台管理技术

-----------------------------------------------------------------------------------------http:

原来 封装之后是如此的简单 只用一个 http_request()就可以完成所有的网络请求 — 就2行有用

socket:
function Request.connect(ip,port)
Request.gameIp = ip
Request.gamePort = port
pomelo_connect(ip,port) -- 开始连接游戏服务器 socket的
net_showloading()
end

Request.connect(又去调用pomelo_connect)建立连接之后 【就一次】 — Request.send(pomelo_send)发送消息【多次】
--------

1. TCP连接

当网络通信时采用TCP协议时,在真正的读写操作之前,server与client之间必须建立一个连接,当读写操作完成后,双方不再需要这个连接时它们可以释放这个连接,连接的建立是需要三次握手的,而释放则需要4次握手,所以说每个连接的建立都是需要资源消耗和时间消耗的

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...