cocos2dx 网络连接

前端之家收集整理的这篇文章主要介绍了cocos2dx 网络连接前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。


XMLHttpRequest

----------------------------------------------
-- 数据转换,将请求数据 由table转化为string
function dataParse(data)
	
	if type(data) ~= "table" then
		return nil
	end
	local tmp = {}
	for key,value in pairs(data) do
		table.insert(tmp,key .. "=" .. value)
	end
	local newData = ""
	for i = 1,#tmp do
		newData = newData .. tostring(tmp[i])
		if i < #tmp then
			newData = newData .. "&"
		end
	end
	-- cclog("data:" .. newData)
	return newData
end

---------------------------------
-- POST 型,发送数据
function sendInfoToSync()
	
	local url = "www.baidu.com" 				-- 网址
	local xhr = cc.XMLHttpRequest:new()
	xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING
	xhr.timeout = 30			-- 判断连接超时时间,秒

	-- 响应函数
	local onReadyFunc = function()
		if xhr.status ~= -1 then		-- 连接成功
			local result = xhr.response 			-- string
			local cjson = require("cjson")
			local info = cjson.decode(result)		-- json 解析成table
		else  		-- 连接失败
		end
	end
	xhr:registerScriptHandler(onReadyFunc)
	xhr:open("POST",url)
	local data = {}
	data.account = 1
	local newData = dataParse(data)
	xhr:send(newData)
end

--------------------------------------
-- GET型,获取数据
function loadInfoFromSync()
	
	local url = "www.baidu.com"
	local xhr = cc.XMLHttpRequest:new()
	xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_JSON
	xhr.timeout = 30
	local onReadyFunc = function()
		if xhr.status ~= -1 then		-- 连接成功
			local result = xhr.response 			-- string
			local cjson = require("cjson")
			local info = cjson.decode(result)		-- json 解析成table
		else  		-- 连接失败
		end
	end
	xhr:registerScriptHandler(onReadyFunc)
	local data = {}
	data.account = 1
	local newData = url .. "?" .. dataParse(data)
	xhr:open("GET",newData)
	xhr:send()
end

猜你在找的Cocos2d-x相关文章