大佬教程收集整理的这篇文章主要介绍了cocos2d-x quick3.3 中使用socket,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
quick3.3中自己封装了一个socket,源代码在framework下的cc目录下有个net目录,里面封装了一个SocketTCP这个Socket提供的方法还比较多具体的自己去看源码,我这里就说几个比较常用的方法;
需要使用这个SocketTCP首先要先声明:可以在MyApp下使用这句代码声明
SocketTCP = require("framework.cc.net.SocketTCP")
之后你就可以在其它lua文件中使用这个SocketTCP了;
接下来配置操作了:
self.socket = SocketTCP.new("192.168.2.34",900,falsE) self.socket:connect("192.168.2.34",falsE)
连接上去之后就可以用
<pre name="code" class="plain">self.socket:send(__data)发送消息了!这个发送消息不说说说这个接收消息:
这里接收消息我不明白它为什么这样做,这个消息他是用广播发出的(我习惯叫它广播)在SocketTCP这个类中的ctor()函数里面有一段这样的代码:
cc(self):addComponent("components.behavior.EventProtocol"):exportMethods()
可以看到SocketTCP下的_onConnected方法有这样的一段代码:
self:dispatchEvent({name=SocketTCP.EVENT_DATA,data=(__partial or __body),partial=__partial,body=__body})这段代码就是发送广播消息的代码!第一个参数为广播的标识符,后面的就不说了,已经说得很清楚了!
接收消息的代可以这样使用:
定义函数接收
self.socket:addEventListener(SocketTCP.EVENT_DATA,handler(self,self.recv))接收函数:
function socketrecvd:recv( event ) -- body print("socketrecvd") for v,k in pairs(event) do print(k) end end这里只是把广播出来的消息接收了然后显示出来!
源码里面还有其他的函数挺有用的!例如_connect这个方法
这个方法它有解释
--- When connect a connected socket server,it will return "already connected"
-- @see: http://lua-users.org/lists/lua-l/2009-10/msg00584.html
自己去看!
还有很多方法,自己去看!
我是在两个类都接收了它返回的数据:
结果如下:
完整代码:
-- -- Author: killer -- Date: 2015-01-19 23:23:48 -- local socketcon = class("socketcon",function () -- body return display.newScene("socketcon") end) function socketcon:ctor() -- body self.socket = SocketTCP.new("192.168.2.34",truE) self.socket:connect("192.168.2.34",truE) -- self.socket:send("nihao") -- socket接收数据 self.socket:addEventListener(SocketTCP.EVENT_DATA,self.recvData)) -- display.replaceScene(require("app.socket.socketrecvd").new(self.socket),"fade",0.6) end function socketcon:recvData(event) -- body self.socket:send("nihao") print("socketcon") for v,k in pairs(event) do print(k) end end function socketcon:onEnter() -- body end return socketcon
以上是大佬教程为你收集整理的cocos2d-x quick3.3 中使用socket全部内容,希望文章能够帮你解决cocos2d-x quick3.3 中使用socket所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。