Skip to content

Commit 1c122f7

Browse files
author
ivahaev
committed
little connections fix
1 parent ae9d10d commit 1c122f7

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

conn.go

+4
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,8 @@ func (c *Conn) heartbeating() {
9090
ticker := time.NewTicker(heartBeatFrequency)
9191
for c.Connected() {
9292
msg, _ := createMessage(msgIntTypes[msgHeartbeat], hbSequence)
93+
hbSequence++
94+
logger("HB message: ", string(msg))
9395
c.send(msg)
9496
<-ticker.C
9597
}
@@ -107,13 +109,15 @@ func (c *Conn) send(msg []byte) {
107109
func (c *Conn) sender() {
108110
var err error
109111
for msg := range c.sendChan {
112+
logger("Sending message ", string(msg))
110113
if c.stringMode {
111114
err = websocket.Message.Send(c.connection, string(msg))
112115
} else {
113116
err = websocket.Message.Send(c.connection, msg)
114117
}
115118
if err != nil {
116119
logger("Error when send message", err.Error())
120+
c.breakChan <- struct{}{}
117121
}
118122
}
119123
}

wamp.go

+3-1
Original file line numberDiff line numberDiff line change
@@ -379,6 +379,7 @@ func (w *Wango) receive(c *Conn) {
379379
for {
380380
err := websocket.Message.Receive(c.connection, &data)
381381
if err != nil {
382+
logger("Message receiving error: ", err)
382383
if err != io.EOF {
383384
// Error receiving message
384385
}
@@ -392,6 +393,7 @@ MessageLoop:
392393
for {
393394
select {
394395
case <-c.breakChan:
396+
logger("breakChan signal received, will close connection.")
395397
break MessageLoop
396398
case data := <-dataChan:
397399
msgType, msg, err := parseMessage(data)
@@ -745,7 +747,7 @@ func (w *Wango) deleteConnection(c *Conn) {
745747
delete(w.connections, c.id)
746748
w.connectionsLocker.Unlock()
747749

748-
c.subRequests.closeRequests()
750+
go c.subRequests.closeRequests()
749751

750752
w.subscribersLocker.Lock()
751753
for _, subscribers := range w.subscribers {

0 commit comments

Comments
 (0)