DmTcpClient
介绍
- 服务端 Server.lua 模式下配套的客户端组件。
- 自动心跳,自动重连。
local 客户端配置 =
{
类型 = "DmTcpClient",
名称 = "客户端",
ip = "127.0.0.1",
端口 = 17173,
系统事件 = {
创建 = function(client)
调试输出("创建",client)
end,
进入 = function(client)
调试输出("连接成功",client.cid)
end,
消息 = function(client,tbl)
调试输出("消息",tbl)
end,
断开 = function(client)
调试输出("连接断开")
end,
}
}
return 客户端配置
配置项
| 名称 | 类型 | 必填 | 说明 |
| 类型 | 文本 | true | 固定值:DmTcpClient 表示这是一个DmTcpClient组件 |
| 名称 | 文本 | true | 全局唯一标识 |
| ip | 文本 | true | 服务端ip |
| 端口 | 整数 | true | 服务端端口 |
| token | 整数 | false | 在服务端的[连接]事件中可以获得。默认:0 |
| 系统事件 | table | false |
属性
cid
- 类型:
整数 - 读写:
只读 - 说明:通信标识
已连接
- 类型:
逻辑 - 读写:
只读 - 说明:是否已经连接到服务端。
方法
| 连接 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:连接到服务端。 | ||||||||||||||||||
示例
注意事项 1、如果不填写ip,端口,表示使用配置项中的信息。 |
| 发送 | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:发送消息到服务端。 | ||||||||||||||||||
示例
注意事项 1、服务端接收到带有syncid编号的客户端同步消息,必须使用同样的syncid发送才会同步。 |
| 断开 |
|---|
| 说明:主动断开与服务端的连接。 |
示例 |
| 加入事件 | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 说明:加入一个自定义事件。 | ||||||||||||||||||||
示例 |
| 删除事件 | ||||||||
|---|---|---|---|---|---|---|---|---|
| 说明:删除指定自定义事件。 | ||||||||
示例 |
系统事件
🔹 创建
创建时触发
| 回调参数 | 类型 | 说明描述 |
| client | DmTcpClient |
示例
系统事件 = {
创建 = function(client)
end,
}
🔹 进入
成功进入到服务端时触发
| 回调参数 | 类型 | 说明描述 |
| client | DmTcpClient |
示例
系统事件 = {
进入 = function(client)
调试输出("连接成功",client.cid)
end,
}
🔹 消息
接收到服务端消息时触发
| 回调参数 | 类型 | 说明描述 |
| client | DmTcpClient | |
| tbl | table |
示例
系统事件 = {
消息 = function(client,tbl)
调试输出("消息",tbl)
end,
}
🔹 断开
与服务端断开连接时触发
| 回调参数 | 类型 | 说明描述 |
| client | DmTcpClient |
示例
系统事件 = {
断开 = function(client)
end,
}
提示
断开后,系统会按间隔触发自动重连。
🔹 自定义事件
是指通过Api [加入事件] 创建的事件。
| 回调参数 | 类型 | 说明描述 |
| client | DmTcpClient | |
| 事件附加 | table | 是指通过Api [加入事件]中传递进来的 附加信息 |
| dt | 数值 | 事件执行的实际间隔时间 |
| time | 数值 | 事件执行的总时间 |
示例
系统事件 = {
创建 = function(client)
client.加入事件("定时器",{计次=0},1000,false)
end,
定时器 = function (client,tbl,dt,time)
tbl.计次 = tbl.计次 + 1
调试输出("时钟 " .. tbl.计次 .. "秒")
end,
}
