Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
rudern
物联大师
提交
29d8b52f
物
物联大师
项目概览
rudern
/
物联大师
通知
5
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
物
物联大师
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
29d8b52f
编写于
9月 06, 2020
作者:
J
Jason
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
重命名 Client 为 Tunnel
上级
42de342f
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
15 addition
and
22 deletion
+15
-22
base/tunnel.go
base/tunnel.go
+1
-1
dbus/base.go
dbus/base.go
+6
-4
dbus/peer.go
dbus/peer.go
+2
-8
dbus/plugin.go
dbus/plugin.go
+3
-6
dbus/server.go
dbus/server.go
+1
-1
dtu/link.go
dtu/link.go
+2
-2
未找到文件。
base/
client
.go
→
base/
tunnel
.go
浏览文件 @
29d8b52f
...
...
@@ -2,7 +2,7 @@ package base
import
"github.com/zgwit/dtu-admin/packet"
type
Client
interface
{
type
Tunnel
interface
{
CLose
()
error
Send
(
msg
*
packet
.
Packet
)
error
Write
(
b
[]
byte
)
error
...
...
dbus/
client
.go
→
dbus/
base
.go
浏览文件 @
29d8b52f
package
dbus
import
(
"github.com/zgwit/dtu-admin/base"
"github.com/zgwit/dtu-admin/packet"
"log"
"net"
...
...
@@ -41,7 +40,10 @@ func (p *baseClient) Write(b []byte) error {
return
nil
}
func
NewClient
()
base
.
Client
{
//根据类型
return
nil
func
(
p
*
baseClient
)
SendError
(
err
string
)
error
{
return
p
.
Send
(
&
packet
.
Packet
{
Type
:
packet
.
TypeError
,
Status
:
0
,
Data
:
[]
byte
(
err
),
})
}
\ No newline at end of file
dbus/peer.go
浏览文件 @
29d8b52f
...
...
@@ -16,7 +16,8 @@ type Peer struct {
func
(
p
*
Peer
)
Handle
(
msg
*
packet
.
Packet
)
{
switch
msg
.
Type
{
case
packet
.
TypeConnect
:
p
.
handleConnect
(
msg
)
_
=
p
.
SendError
(
"duplicate register"
)
_
=
p
.
CLose
()
case
packet
.
TypeHeartBeak
:
case
packet
.
TypePing
:
_
=
p
.
Send
(
&
packet
.
Packet
{
Type
:
packet
.
TypePong
})
...
...
@@ -27,13 +28,6 @@ func (p *Peer) Handle(msg *packet.Packet) {
}
}
func
(
p
*
Peer
)
handleConnect
(
msg
*
packet
.
Packet
)
{
//p.Key = string(msg.Data)
//TODO 检查Key,获取对应的 通道,连接号
//TODO 在link中设置peer
}
func
(
p
*
Peer
)
handleTransfer
(
msg
*
packet
.
Packet
)
{
//_, _ = p.link.Send(msg.Data)
//TODO 判断link是否为空
...
...
dbus/plugin.go
浏览文件 @
29d8b52f
...
...
@@ -12,7 +12,9 @@ type Plugin struct {
func
(
p
*
Plugin
)
Handle
(
msg
*
packet
.
Packet
)
{
switch
msg
.
Type
{
case
packet
.
TypeConnect
:
p
.
handleConnect
(
msg
)
_
=
p
.
SendError
(
"duplicate register"
)
_
=
p
.
CLose
()
//p.handleConnect(msg)
case
packet
.
TypeHeartBeak
:
case
packet
.
TypePing
:
_
=
p
.
Send
(
&
packet
.
Packet
{
Type
:
packet
.
TypePong
})
...
...
@@ -23,11 +25,6 @@ func (p *Plugin) Handle(msg *packet.Packet) {
}
}
func
(
p
*
Plugin
)
handleConnect
(
msg
*
packet
.
Packet
)
{
//TODO 根据appkey, secret校验身份,注册插件到对应通道和链接上
}
func
(
p
*
Plugin
)
handleTransfer
(
msg
*
packet
.
Packet
)
{
//TODO 找到对应链接,发送之
//TODO 使用 int64 还是 int32
...
...
dbus/server.go
浏览文件 @
29d8b52f
...
...
@@ -93,7 +93,7 @@ func (s *Server) receive(conn net.Conn) {
_
=
c
.
CLose
()
}
func
(
s
*
Server
)
createTunnel
(
p
*
packet
.
Packet
)
(
base
.
Client
,
error
)
{
func
(
s
*
Server
)
createTunnel
(
p
*
packet
.
Packet
)
(
base
.
Tunnel
,
error
)
{
if
p
.
Type
!=
packet
.
TypeConnect
{
//告诉客户端,第一个包必须是注册包
return
nil
,
errors
.
New
(
"first packet must be connect"
)
...
...
dtu/link.go
浏览文件 @
29d8b52f
...
...
@@ -24,9 +24,9 @@ type Link struct {
cache
[][]
byte
//透传链接
peer
base
.
Client
peer
base
.
Tunnel
plugin
base
.
Client
plugin
base
.
Tunnel
//监视器连接,
monitor
*
Monitor
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录