🐛 bug fix

This commit is contained in:
JustSong
2022-07-29 23:53:06 +08:00
parent 090bbcc61b
commit 14fd2d07f3
3 changed files with 32 additions and 7 deletions
+3 -1
View File
@@ -86,7 +86,9 @@ server.listen(config.port);
wss.on('connection', (ws) => {
ws.on('message', (data) => {
let message = JSON.parse(data.toString());
registerWebSocket(message.prefix, message.token, ws);
if (message.prefix) {
registerWebSocket(message.prefix, message.token, ws);
}
});
});
+27 -4
View File
@@ -6,6 +6,7 @@ import (
"log"
"net/url"
"os"
"time"
)
var (
@@ -18,6 +19,9 @@ type Verification struct {
Token string `json:"token"`
}
type Ping struct {
}
func main() {
flag.Parse()
connString := *conn
@@ -37,6 +41,12 @@ func main() {
scheme = "wss"
}
u := url.URL{Scheme: scheme, Host: connUrl.Host, Path: "/"}
verification := &Verification{
Prefix: connUrl.Path[1:],
Token: *token,
}
ping := &Ping{}
ticker := time.NewTicker(60 * time.Second)
for {
log.Printf("Connecting to %s...\n", u.String())
c, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
@@ -45,20 +55,33 @@ func main() {
return
}
log.Printf("Server connected.\n")
verification := &Verification{
Prefix: connUrl.Path[1:],
Token: *token,
}
err = c.WriteJSON(verification)
if err != nil {
log.Fatal(err.Error())
}
go func() {
for {
select {
case <-ticker.C:
if err := c.WriteJSON(ping); err != nil {
log.Println("Error occurred when send ping message:", err)
log.Println("Connection lost, retrying...")
_ = c.Close()
break
} else {
log.Println("Ping message sent.")
}
}
}
}()
for {
var message = new(Message)
err = c.ReadJSON(message)
if err != nil {
log.Println("Error occurred when read message:", err)
log.Println("Connection lost, retrying...")
_ = c.Close()
break
} else {
log.Println("New message arrived.")
+2 -2
View File
@@ -1,6 +1,4 @@
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name 你的域名;
location / {
@@ -11,5 +9,7 @@ server {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
}