Switched to using json.Encoder and Decoder
This commit is contained in:
parent
bc58ee9165
commit
ad9d6c1026
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"code.google.com/p/go.net/websocket"
|
"code.google.com/p/go.net/websocket"
|
||||||
|
"encoding/json"
|
||||||
"log"
|
"log"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -16,7 +17,8 @@ type player struct {
|
|||||||
func (p *player) sender() {
|
func (p *player) sender() {
|
||||||
log.Printf("%s: sender launched", p.Id)
|
log.Printf("%s: sender launched", p.Id)
|
||||||
for things := range p.send {
|
for things := range p.send {
|
||||||
err := websocket.JSON.Send(p.ws, things)
|
enc := json.NewEncoder(p.ws)
|
||||||
|
err := enc.Encode(things)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
break
|
break
|
||||||
}
|
}
|
||||||
@ -30,8 +32,8 @@ func (p *player) recv() {
|
|||||||
// XXX: need to mark myself as having received something, also binding
|
// XXX: need to mark myself as having received something, also binding
|
||||||
// such action to a particular game turn ID
|
// such action to a particular game turn ID
|
||||||
var msgs map[string]Instruction
|
var msgs map[string]Instruction
|
||||||
err := websocket.JSON.Receive(p.ws, &msgs)
|
dec := json.NewDecoder(p.ws)
|
||||||
|
err := dec.Decode(&msgs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// TODO: perhaps we could be a bit more precise in the handling of
|
// TODO: perhaps we could be a bit more precise in the handling of
|
||||||
// this 'error' by selecting on some kill signal channel and this
|
// this 'error' by selecting on some kill signal channel and this
|
||||||
|
Loading…
Reference in New Issue
Block a user