KBEngine官方论坛

 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 配置 开服
查看: 1202|回复: 8

kbe + quick-cocos2dx-lua 通讯协议问题

[复制链接]

1

主题

4

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2016-3-23 17:40:41 | 显示全部楼层 |阅读模式
--------------------------------------------------------------------------------
ByteArray = require("framework.cc.utils.init").ByteArray
cc.net = require("framework.cc.net.init")

local SocketTCP = cc.net.SocketTCP

local tcp = {
        socket_ = nil,
}

local config = {
        ip = "192.168.10.10",
        port = "31000",
}

function tcp:_createSocket()
        if not self._socket then
                self._socket = SocketTCP.new(config.ip, config.port, true)
        end

        self._socket:connect()
end
--------------------------------------------------------------------------------
使用quick的SocketTCP 和kbe建立了连接
kbe 返回了 “password:”

接下来想发创建账号的请求
        <Loginapp::reqCreateAccount>
                <id>2</id>
                <descr>客户端请求创建一个账号。</descr>
                <arg>STRING</arg> <!-- 账号名 -->
                <arg>STRING</arg> <!-- 密码 -->
                <arg>UINT8_ARRAY</arg> <!-- 二进制流, 具体由开发者来解析 -->
        </Loginapp::reqCreateAccount>


--------------------------------------------------------------------------------
cc.utils = require("framework.cc.utils.init")
local ByteArray = cc.utils.ByteArray
local ByteArrayVarint = cc.utils.ByteArrayVarint
local tcp = require("app.message.tcpMessage")

local sendBuffer = ByteArray.new(ByteArrayVarint.ENDIAN_BIG)
sendBuffer:writeUShort(2) -- 协议ID
sendBuffer:writeString("abc") -- 帐号
sendBuffer:writeString("123456") -- 密码
sendBuffer:writeByte("0")

tcp._socket:send(sendBuffer:getPack())

--------------------------------------------------------------------------------
运行了上面这段代码 kbe没反应
不知道数据包都需要些什么 找了很多例子  不知道自己哪里出错了

http://kbengine.org/cn/docs/programming/kbe_message_format.html
这页上的通讯协议格式 不是很懂它的意思

回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-3-23 18:07:02 | 显示全部楼层
为什么连接的是31000?
你应该连接loginapp 20013端口。

想自己写客户端插件, 你最好先参考官方的插件
https://github.com/kbengine/kbengine_js_plugins 这是cocos2djs的插件。
群里面有一些群友实现的cocos2dx的插件你也可以看看
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

1

主题

4

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2016-3-23 18:14:49 | 显示全部楼层
kbe 发表于 2016-3-23 18:07
为什么连接的是31000?
你应该连接loginapp 20013端口。

我是连接的loginapp 31000
回复

使用道具 举报

1

主题

4

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2016-3-23 18:36:43 | 显示全部楼层
请问下 一定要配套的插件才行吗?

通讯协议不是应该发送数据 接收数据 就可以了么?


不知道是不是我理解的不到位
现在觉得客户端有类似服务器的代码 服务器有类似客户端的代码
有点混乱
回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-3-23 18:53:57 | 显示全部楼层
Leung 发表于 2016-3-23 18:14
我是连接的loginapp 31000

如果你没改过配置的话, 这个端口就是错误的
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

30

主题

7138

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
16457
QQ
发表于 2016-3-23 18:55:08 | 显示全部楼层
Leung 发表于 2016-3-23 18:36
请问下 一定要配套的插件才行吗?

通讯协议不是应该发送数据 接收数据 就可以了么?

不是一定要配套的插件, 你想自己做你就需要了解原本的插件是如何做到的。

“现在觉得客户端有类似服务器的代码 服务器有类似客户端的代码
有点混乱”

没有了解清楚之前不要随便下定义。
热爱游戏、热爱开源!
柯标
3603661@qq.com

柯标
3603661@qq.com
回复

使用道具 举报

1

主题

4

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2016-3-23 18:57:37 | 显示全部楼层
kbe 发表于 2016-3-23 18:55
不是一定要配套的插件, 你想自己做你就需要了解原本的插件是如何做到的。

“现在觉得客户端有类似服务 ...

好的  谢谢 我再去研究下
回复

使用道具 举报

4

主题

27

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2016-4-17 22:39:57 | 显示全部楼层
你好,我也正在使用kbe+cocos2dx,希望可以加一个好友一起学习 3100768452
回复

使用道具 举报

4

主题

27

帖子

94

积分

注册会员

Rank: 2

积分
94
发表于 2016-4-24 13:55:02 | 显示全部楼层
你好,我也正在使用kbe+cocos2dx,希望可以加一个好友一起学习 3100768452
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|KBEngine Forum

GMT+8, 2018-12-10 18:28 , Processed in 0.030795 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表