(3).建立客户端并且连接服务端

使用quick新建立一个项目

1.在MainScene.lua里面加入一个按钮用来测试连接服务端发送数据。

function MainScene:ctor()
    cc.ui.UILabel.new({
            UILabelType = 2, text = "Hello, World", size = 64})
        :align(display.CENTER, display.cx, display.cy)
        :addTo(self)


    local item = G_createSpriteButton({
    image       ="skill_common.png" ,--图片  (必须)
        callBack   = function (  )
        NetManager:send("<<<<<<<<<<<<<send test >>>>>>>>>>>")
        end, --监听回调
       isMove      =false ,--是否移动
       isSwallow   = false,--是否吞噬
    })
   self:addChild(item)
   item:setPosition(display.cx, display.cy)
end

2.  新建一个NetManager.lua文件连接服务端

local SocketTCP = require("framework.cc.net.SocketTCP")
local NetManager = class("NetManager")


NetManager.IP = "127.0.0.1"
NetManager.PORT = 1155
NetManager.KEY = ""


function NetManager:ctor(  )


self._socket = SocketTCP.new(NetManager.IP,NetManager.PORT,true)
self._socket:connect()
-- 网络连接成功net
self._socket:addEventListener(SocketTCP.EVENT_CONNECTED, handler(self, self.onConnected))


-- 网络连接失败
self._socket:addEventListener(SocketTCP.EVENT_CONNECT_FAILURE, handler(self, self.onConnectedFailure))


-- 网络连接关闭
self._socket:addEventListener(SocketTCP.EVENT_CLOSE, handler(self, self.onConnectedClose))


-- 接收到信息
self._socket:addEventListener(SocketTCP.EVENT_DATA, handler(self, self.onRecvData))


end


function NetManager:getInstance(  )
if not netWorker then
netWorker = NetManager.new()
end
return netWorker
end


function NetManager:onConnected( ... )
-- body
print("New onConnected !")
end
function NetManager:onConnectedFailure( ... )
print("New onConnectedFailure !")
end
function NetManager:onConnectedClose( ... )
print("New onConnectedClose !")
end
function NetManager:send( msg )
if self._socket then
self._socket:send(msg)
end
end
function NetManager:onRecvData( event )
print("---------------onRecvData----------------")
print(event.data)
end


return NetManager


启动服务器在erlang控制台启动:application:start(server).---->OK

启动客户端连接:<<<<<<<<<<start connect >>>>>>>>

accept client socket : #Port<0.523>

这时候看服务端:连接成功,很好。

点击客户端发送消息过去看能收到不,Socket :#Port<0.523>,RawData:<<"<<<<<<<send test >>>>>>>">>

很好收到了。

客户端也收到一个返回:---------------------onRecvData----------------------

 erlang server bin


YES,现在只是简单的连接,以后扩张。比如加入json传输或者protobuf,加密等。客户端加入回调协议等。

你可能感兴趣的:((3).建立客户端并且连接服务端)