Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
go-cqhttp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
go-cqhttp
Commits
c8783635
Commit
c8783635
authored
Aug 09, 2020
by
Mrs4s
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
try to fix reverse ws delay. #52
parent
8524fbf1
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
17 additions
and
3 deletions
+17
-3
coolq/bot.go
coolq/bot.go
+10
-1
server/websocket.go
server/websocket.go
+7
-2
No files found.
coolq/bot.go
View file @
c8783635
...
...
@@ -14,6 +14,7 @@ import (
"hash/crc32"
"path"
"sync"
"time"
)
type
CQBot
struct
{
...
...
@@ -173,7 +174,15 @@ func (bot *CQBot) Release() {
func
(
bot
*
CQBot
)
dispatchEventMessage
(
m
MSG
)
{
for
_
,
f
:=
range
bot
.
events
{
f
(
m
)
fn
:=
f
go
func
()
{
start
:=
time
.
Now
()
fn
(
m
)
end
:=
time
.
Now
()
if
end
.
Sub
(
start
)
>
time
.
Second
*
5
{
log
.
Debugf
(
"警告: 事件处理耗时超过 5 秒 (%v秒), 请检查应用是否有堵塞."
,
end
.
Sub
(
start
)
/
time
.
Second
)
}
}()
}
}
...
...
server/websocket.go
View file @
c8783635
...
...
@@ -136,6 +136,7 @@ func (c *websocketClient) connectUniversal() {
log
.
Warnf
(
"连接到反向Websocket Universal服务器 %v 时出现致命错误: %v"
,
c
.
conf
.
ReverseUrl
,
err
)
return
}
wsConf
.
Dialer
.
Timeout
=
time
.
Second
*
5
wsConf
.
Header
[
"X-Client-Role"
]
=
[]
string
{
"Universal"
}
wsConf
.
Header
[
"X-Self-ID"
]
=
[]
string
{
strconv
.
FormatInt
(
c
.
bot
.
Client
.
Uin
,
10
)}
wsConf
.
Header
[
"User-Agent"
]
=
[]
string
{
"CQHttp/4.15.0"
}
...
...
@@ -191,16 +192,20 @@ func (c *websocketClient) onBotPushEvent(m coolq.MSG) {
defer
c
.
pushLock
.
Unlock
()
if
c
.
eventConn
!=
nil
{
log
.
Debugf
(
"向WS服务器 %v 推送Event: %v"
,
c
.
eventConn
.
RemoteAddr
()
.
String
(),
m
.
ToJson
())
_
=
c
.
eventConn
.
SetWriteDeadline
(
time
.
Now
()
.
Add
(
time
.
Second
*
3
))
if
_
,
err
:=
c
.
eventConn
.
Write
([]
byte
(
m
.
ToJson
()));
err
!=
nil
{
_
=
c
.
eventConn
.
Close
()
if
c
.
conf
.
ReverseReconnectInterval
!=
0
{
time
.
Sleep
(
time
.
Millisecond
*
time
.
Duration
(
c
.
conf
.
ReverseReconnectInterval
))
c
.
connectEvent
()
go
func
()
{
time
.
Sleep
(
time
.
Millisecond
*
time
.
Duration
(
c
.
conf
.
ReverseReconnectInterval
))
c
.
connectEvent
()
}()
}
}
}
if
c
.
universalConn
!=
nil
{
log
.
Debugf
(
"向WS服务器 %v 推送Event: %v"
,
c
.
universalConn
.
RemoteAddr
()
.
String
(),
m
.
ToJson
())
_
=
c
.
universalConn
.
SetWriteDeadline
(
time
.
Now
()
.
Add
(
time
.
Second
*
3
))
_
,
_
=
c
.
universalConn
.
Write
([]
byte
(
m
.
ToJson
()))
}
}
...
...
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