Skip to content

Instantly share code, notes, and snippets.

@Rijen
Last active February 20, 2018 18:50
Show Gist options
  • Save Rijen/8eb948a2ac3f7af80040f0cc5b27aed5 to your computer and use it in GitHub Desktop.
Save Rijen/8eb948a2ac3f7af80040f0cc5b27aed5 to your computer and use it in GitHub Desktop.
func (c *Client) listenWrite() {
log.Println("Listening write to client")
for {
select {
case msg := <-c.ch:
log.Println("Send: ", msg)
websocket.JSON.Send(c.ws, msg)
case <-c.doneCh:
c.server.Del(c)
c.doneCh <- true
return
}
}
}
func (c *Client) listenRead() {
log.Println("Listening read from client")
for {
select {
case <-c.doneCh:
c.server.Del(c)
c.doneCh <- true
return
default:
var msg Message
err := websocket.JSON.Receive(c.ws, &msg)
if (err == io.EOF) {
c.doneCh <- true
} else if err != nil {
c.server.Err(err)
} else {
c.server.SendAll(&msg)
}
}
}
}
func (c *Client) listenWrite() {
log.Println("Listening write to client")
defer func(){
c.server.Del(c)
c.doneCh <- true
}()
for {
select {
case msg := <-c.ch:
log.Println("Send: ", msg)
websocket.JSON.Send(c.ws, msg)
case <-c.doneCh:
return
}
}
}
func (c *Client) listenRead() {
log.Println("Listening read from client")
for {
select {
case <-c.doneCh:
return
default:
var msg Message
err := websocket.JSON.Receive(c.ws, &msg)
if (err == io.EOF) {
c.doneCh <- true
} else if err != nil {
c.server.Err(err)
} else {
c.server.SendAll(&msg)
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment