Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
rudern
物联大师
提交
575c20b1
物
物联大师
项目概览
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,发现更多精彩内容 >>
提交
575c20b1
编写于
9月 05, 2020
作者:
J
Jason
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
独立peer,为了透传
上级
991508d1
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
12 deletion
+19
-12
dtu/link.go
dtu/link.go
+12
-11
peer/peer.go
peer/peer.go
+4
-1
peer/server.go
peer/server.go
+3
-0
未找到文件。
dtu/link.go
浏览文件 @
575c20b1
...
...
@@ -4,6 +4,8 @@ import (
"errors"
"github.com/zgwit/dtu-admin/db"
"github.com/zgwit/dtu-admin/model"
"github.com/zgwit/dtu-admin/packet"
"github.com/zgwit/dtu-admin/peer"
"log"
"net"
"sync"
...
...
@@ -20,12 +22,11 @@ type Link struct {
conn
net
.
Conn
//透传链接
peer
net
.
Conn
peer
*
peer
.
Peer
//监视器连接,
monitors
sync
.
Map
// <string, websocket>
lastTime
time
.
Time
}
...
...
@@ -34,8 +35,14 @@ func (l *Link) onData(buf []byte) {
l
.
lastTime
=
time
.
Now
()
if
l
.
peer
!=
nil
{
_
=
l
.
peer
.
Send
(
&
packet
.
Packet
{
Type
:
packet
.
TypeTransfer
,
Data
:
buf
,
})
}
else
{
//TODO 协议封装 ChannelId + LinkId + recv + buf
_
,
_
=
l
.
peer
.
Write
(
buf
)
//b := make([]byte, 8 + len(buf))
//发送插件
}
l
.
reportMonitor
(
"recv"
,
buf
)
...
...
@@ -47,11 +54,6 @@ func (l *Link) Send(buf []byte) (int, error) {
n
,
e
:=
l
.
conn
.
Write
(
buf
)
if
l
.
peer
!=
nil
{
//TODO 协议封装
_
,
_
=
l
.
peer
.
Write
(
buf
)
}
l
.
reportMonitor
(
"send"
,
buf
)
return
n
,
e
...
...
@@ -69,7 +71,6 @@ func (l *Link) Close() error {
l
.
Online
=
false
_
,
err
=
db
.
Engine
.
ID
(
l
.
Id
)
.
Cols
(
"online"
)
.
Update
(
&
l
.
Link
)
l
.
reportMonitor
(
"send"
,
nil
)
return
err
...
...
@@ -80,7 +81,7 @@ func (l *Link) Monitor(m *Monitor) {
}
// 发送给监视器
func
(
l
*
Link
)
reportMonitor
(
typ
string
,
data
[]
byte
)
{
func
(
l
*
Link
)
reportMonitor
(
typ
string
,
data
[]
byte
)
{
l
.
monitors
.
Range
(
func
(
key
,
value
interface
{})
bool
{
m
:=
value
.
(
*
Monitor
)
err
:=
m
.
Report
(
typ
,
data
)
...
...
@@ -110,7 +111,7 @@ func newLink(ch Channel, conn net.Conn) *Link {
Online
:
true
,
OnlineAt
:
time
.
Now
(),
},
conn
:
conn
,
conn
:
conn
,
}
}
...
...
dtu
/peer.go
→
peer
/peer.go
浏览文件 @
575c20b1
package
dtu
package
peer
import
(
"github.com/zgwit/dtu-admin/packet"
...
...
@@ -43,5 +43,8 @@ func (p *Peer) receive() {
func
(
p
*
Peer
)
handle
(
msg
*
packet
.
Packet
)
{
switch
msg
.
Type
{
//
case
packet
.
TypeConnect
:
//
}
}
peer/server.go
0 → 100644
浏览文件 @
575c20b1
package
peer
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录