Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
im-pool
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoyanbin
im-pool
Commits
536a02d7
Commit
536a02d7
authored
Dec 05, 2022
by
haoyanbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
c83313ae
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
45 deletions
+22
-45
client.go
pool/client.go
+3
-26
publicApi.go
pool/publicApi.go
+19
-19
No files found.
pool/client.go
View file @
536a02d7
...
...
@@ -191,12 +191,7 @@ Loop:
c
.
onError
(
errors
.
New
(
"接收数据解析失败!!连接ID:"
+
c
.
Id
+
"原因:"
+
err
.
Error
()))
break
Loop
}
if
msg
.
ProcedureType
==
9
{
c
.
setPing
()
}
if
msg
.
ProcedureType
==
10
{
c
.
setPong
()
}
SaveMsg
(
msg
)
//rabbitMQ.PublishSimple(string(message))
c
.
readMessage
(
msg
)
...
...
@@ -318,7 +313,7 @@ Loop:
}
if
p
==
1
{
c
.
conn
.
SetWriteDeadline
(
time
.
Now
()
.
Add
(
writeWait
))
if
err
:=
c
.
conn
.
WriteMessage
(
websocket
.
TextMessage
,
SerializeJson
(
&
SendMsg
{
ProcedureType
:
9
})
);
err
!=
nil
{
if
err
:=
c
.
conn
.
WriteMessage
(
websocket
.
PingMessage
,
nil
);
err
!=
nil
{
fmt
.
Println
(
err
)
c
.
onError
(
errors
.
New
(
"连接ID:"
+
c
.
Id
+
"关闭写入IO对象出错,连接中断"
+
err
.
Error
()))
goto
Loop1
...
...
@@ -330,7 +325,7 @@ Loop:
}
if
p
==
1
{
c
.
conn
.
SetWriteDeadline
(
time
.
Now
()
.
Add
(
writeWait
))
if
err
:=
c
.
conn
.
WriteMessage
(
websocket
.
TextMessage
,
SerializeJson
(
&
SendMsg
{
ProcedureType
:
10
})
);
err
!=
nil
{
if
err
:=
c
.
conn
.
WriteMessage
(
websocket
.
PongMessage
,
nil
);
err
!=
nil
{
fmt
.
Println
(
err
)
c
.
onError
(
errors
.
New
(
"回复客户端PongMessage出现异常:"
+
err
.
Error
()))
goto
Loop1
...
...
@@ -342,24 +337,6 @@ Loop1:
c
.
close
()
}
func
(
c
*
Client
)
setPong
()
{
c
.
conn
.
SetReadDeadline
(
time
.
Now
()
.
Add
(
pongWait
))
fmt
.
Println
(
"收到pong---"
,
c
.
Id
)
c
.
pingPeriodTicker
.
Reset
(
pingPeriod
)
c
.
onPong
()
}
func
(
c
*
Client
)
setPing
()
{
c
.
conn
.
SetReadDeadline
(
time
.
Now
()
.
Add
(
pongWait
))
c
.
pingPeriodTicker
.
Reset
(
pingPeriod
)
fmt
.
Println
(
"收到ping---"
,
c
.
Id
)
c
.
recvPing
<-
1
//if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
// c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
//}
c
.
onPing
()
}
func
(
c
*
Client
)
send
(
msg
*
SendMsg
)
{
timeout
:=
time
.
NewTimer
(
time
.
Millisecond
*
800
)
defer
timeout
.
Stop
()
...
...
pool/publicApi.go
View file @
536a02d7
...
...
@@ -85,25 +85,25 @@ func (c *Client) OpenClient(w http.ResponseWriter, r *http.Request, head http.He
c
.
conn
.
SetReadDeadline
(
time
.
Now
()
.
Add
(
pongWait
))
c
.
pingPeriodTicker
=
time
.
NewTimer
(
pingPeriod
)
c
.
closeTicker
=
time
.
NewTimer
(
closeWait
)
//
c.conn.SetPongHandler(func(str string) error {
//
c.conn.SetReadDeadline(time.Now().Add(pongWait))
//
fmt.Println("收到pong---", c.Id, str)
//
c.pingPeriodTicker.Reset(pingPeriod)
//
c.onPong()
//
return nil
//
})
//
//
c.conn.SetPingHandler(func(str string) error {
//
c.conn.SetReadDeadline(time.Now().Add(pongWait))
//
c.pingPeriodTicker.Reset(pingPeriod)
//
fmt.Println("收到ping---", c.Id, str)
//
c.recvPing <- 1
//
//if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
//
// c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
//
//}
//
c.onPing()
//
return nil
//
})
c
.
conn
.
SetPongHandler
(
func
(
str
string
)
error
{
c
.
conn
.
SetReadDeadline
(
time
.
Now
()
.
Add
(
pongWait
))
fmt
.
Println
(
"收到pong---"
,
c
.
Id
,
str
)
c
.
pingPeriodTicker
.
Reset
(
pingPeriod
)
c
.
onPong
()
return
nil
})
c
.
conn
.
SetPingHandler
(
func
(
str
string
)
error
{
c
.
conn
.
SetReadDeadline
(
time
.
Now
()
.
Add
(
pongWait
))
c
.
pingPeriodTicker
.
Reset
(
pingPeriod
)
fmt
.
Println
(
"收到ping---"
,
c
.
Id
,
str
)
c
.
recvPing
<-
1
//if err := c.conn.WriteMessage(websocket.PongMessage, nil); err != nil {
// c.onError(errors.New("回复客户端PongMessage出现异常:"+err.Error()))
//}
c
.
onPing
()
return
nil
})
c
.
conn
.
SetCloseHandler
(
func
(
code
int
,
str
string
)
error
{
//收到客户端连接关闭时的回调
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment