satyakb / go-socket.io-redis Goto Github PK
View Code? Open in Web Editor NEWRedis adapter for go-socket.io
Redis adapter for go-socket.io
go get "github.com/kowabungappl/go-socket.io-redis"
....\go\src\github.com\kowabungappl\go-socket.io-redis\redis.go:96: cannot use
b (type broadcast) as type socketio.BroadcastAdaptor in return argument:
broadcast does not implement socketio.BroadcastAdaptor (wrong type for S
end method)
have Send(socketio.Socket, string, string, []interface {}) error
want Send(socketio.Socket, string, string, ...interface {}) erro
r
C:\xtgxiso\source\chat-socket\test>
I always get "concurrent map writes" error with the below description:
fatal error: concurrent map writes
goroutine 435 [running]:
runtime.throw(0x900720, 0x15)
/usr/local/go/src/runtime/panic.go:530 +0x90 fp=0xc8202d30c0 sp=0xc8202d30a8
runtime.mapassign1(0x770940, 0xc82000f9b0, 0xc8202d31c0, 0xc8202d31a0)
/usr/local/go/src/runtime/hashmap.go:445 +0xb1 fp=0xc8202d3168 sp=0xc8202d30c0
github.com/satyakb/go-socket%2eio-redis.broadcast.Join(0xc82000f590, 0x2d, 0xc820011520, 0x4, 0xc8200bca20, 0x13, 0x7f4e5119c0d0, 0xc82015e000, 0x7f4e5119c0d0, 0xc8200897c0, ...)
/data/go/dev/src/github.com/satyakb/go-socket.io-redis/redis.go:163 +0x20f fp=0xc8202d31e8 sp=0xc8202d3168
github.com/satyakb/go-socket%2eio-redis.(_broadcast).Join(0xc8200ebc30, 0xc82012e1c0, 0x7, 0x7f4e511e1578, 0xc82020efc0, 0x0, 0x0)
:7 +0xfb fp=0xc8202d32c8 sp=0xc8202d31e8
github.com/googollee/go-socket%2eio.(_socketHandler).Join(0xc8202146e0, 0xc82012e0c8, 0x6, 0x0, 0x0)
/data/go/dev/src/github.com/googollee/go-socket.io/handler.go:91 +0xf0 fp=0xc8202d3358 sp=0xc8202d32c8
main.main.func1.2(0xc8200c09a0, 0xab)
/data/go/dev/src/gochat/chatapp.go:398 +0x81b fp=0xc8202d35d0 sp=0xc8202d3358
runtime.call32(0xc820693640, 0xc820298b40, 0xc8205800f0, 0x1000000010)
/usr/local/go/src/runtime/asm_amd64.s:472 +0x3e fp=0xc8202d35f8 sp=0xc8202d35d0
reflect.Value.call(0x77cdc0, 0xc820298b40, 0x13, 0x8ac7a0, 0x4, 0xc82025c920, 0x1, 0x1, 0x0, 0x0, ...)
/usr/local/go/src/reflect/value.go:435 +0x120d fp=0xc8202d3948 sp=0xc8202d35f8
reflect.Value.Call(0x77cdc0, 0xc820298b40, 0x13, 0xc82025c920, 0x1, 0x1, 0x0, 0x0, 0x0)
/usr/local/go/src/reflect/value.go:303 +0xb1 fp=0xc8202d39a8 sp=0xc8202d3948
github.com/googollee/go-socket%2eio.(_caller).Call(0xc820298b80, 0x7f4e511e1578, 0xc82020efc0, 0xc82012e070, 0x1, 0x1, 0x0, 0x0, 0x0)
/data/go/dev/src/github.com/googollee/go-socket.io/caller.go:81 +0x6c3 fp=0xc8202d3b60 sp=0xc8202d39a8
github.com/googollee/go-socket%2eio.(_socketHandler).onPacket(0xc8202146e0, 0xc8202d3f30, 0xc8202d3ef8, 0x0, 0x0, 0x0, 0x0, 0x0)
/data/go/dev/src/github.com/googollee/go-socket.io/handler.go:165 +0x37a fp=0xc8202d3d30 sp=0xc8202d3b60
github.com/googollee/go-socket%2eio.(_socket).loop(0xc82020efc0, 0x0, 0x0)
/data/go/dev/src/github.com/googollee/go-socket.io/socket.go:135 +0x3d3 fp=0xc8202d3f78 sp=0xc8202d3d30
github.com/googollee/go-socket%2eio.(_Server).loop.func1(0xc82020efc0)
/data/go/dev/src/github.com/googollee/go-socket.io/server.go:103 +0x21 fp=0xc8202d3f98 sp=0xc8202d3f78
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1 fp=0xc8202d3fa0 sp=0xc8202d3f98
created by github.com/googollee/go-socket%2eio.(*Server).loop
/data/go/dev/src/github.com/googollee/go-socket.io/server.go:104 +0xfc
goroutine 1 [IO wait]:
net.runtime_pollWait(0x7f4e511dcd80, 0x72, 0x0)
/usr/local/go/src/runtime/netpoll.go:160 +0x60
net.(_pollDesc).Wait(0xc82017a1b0, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc82017a1b0, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).accept(0xc82017a150, 0x0, 0x7f4e51220d58, 0xc8202066c0)
/usr/local/go/src/net/fd_unix.go:426 +0x27c
net.(_TCPListener).AcceptTCP(0xc820028098, 0x45cba0, 0x0, 0x0)
/usr/local/go/src/net/tcpsock_posix.go:254 +0x4d
net/http.tcpKeepAliveListener.Accept(0xc820028098, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2427 +0x41
net/http.(_Server).Serve(0xc820084600, 0x7f4e51220d20, 0xc820028098, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2117 +0x129
net/http.(_Server).ListenAndServe(0xc820084600, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2098 +0x136
net/http.ListenAndServe(0xc8200115d0, 0x6, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/server.go:2195 +0x98
main.main()
/data/go/dev/src/gochat/chatapp.go:561 +0xbe9
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1998 +0x1
goroutine 5 [chan receive]:
github.com/googollee/go-socket%2eio.(_Server).loop(0xc8200bcb40)
/data/go/dev/src/github.com/googollee/go-socket.io/server.go:97 +0x6d
created by github.com/googollee/go-socket%2eio.NewServer
/data/go/dev/src/github.com/googollee/go-socket.io/server.go:26 +0x421
goroutine 362 [select]:
github.com/googollee/go-engine%2eio.(_serverConn).pingLoop(0xc8201e61a0)
/data/go/dev/src/github.com/googollee/go-engine.io/server_conn.go:359 +0x42f
created by github.com/googollee/go-engine%2eio.newServerConn
/data/go/dev/src/github.com/googollee/go-engine.io/server_conn.go:110 +0x58e
I tried add lock(sync.RWMutex) for methods: Join/Leave/onmessage/Send, but still get the same error. Could someone give me some helps or ideas? Thanks.
vendor/github.com/satyakb/go-socket.io-redis/cmap_string_socket/cmap_string_socket.go:18:26: undefined: socketio.Socket
I have a legacy code written in JavaScript/node who I have almost migrated to Go! This program should act as a proxy to a EventListener, so the 1st program 'fires' events and the one I migrated pass the events to the 'browser'.
Once this new program is connected to Redis, the events are not forwarded because this error, Could you light me up? thanks in advance!
PMessage: socket.io#* socket.io#/#sails_model_vehicles_73480:update:positions# ��emitter��type��data��positions��verb�updated�id���data��vehicle���date�2016-07-28T05:04:46.000Z�nsp�/��rooms��+sails_model_vehicles_73480:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_64888:update:positions# ��emitter��type��data��positions��verb�updated�id��x�data��vehicle��x�date�2016-07-28T05:04:45.000Z�nsp�/��rooms��+sails_model_vehicles_64888:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_71780:update:positions# ��emitter��type��data��positions��verb�updated�id���d�data��vehicle���d�date�2016-07-28T12:04:45.000Z�nsp�/��rooms��+sails_model_vehicles_71780:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_31952:update:positions# ��emitter��type��data��positions��verb�updated�id�|Фdata��vehicle�|Фdate�2016-07-28T12:04:45.000Z�nsp�/��rooms��+sails_model_vehicles_31952:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_70630:update:positions# ��emitter��type��data��positions��verb�updated�id�����data��vehicle�����date�2016-07-28T05:04:46.000Z�direction�nsp�/��rooms��+sails_model_vehicles_70630:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_30322:update:positions# ��emitter��type��data��positions��verb�updated�id�vr�data��vehicle�vr�date�2016-07-28T07:04:45.000Z�nsp�/��rooms��+sails_model_vehicles_30322:update:positions�flags�
error decoding data
PMessage: socket.io#* socket.io#/#sails_model_vehicles_66851:update:positions# ��emitter��type��data��positions��verb�updated�id��#�data��vehicle��#�date�2016-07-28T12:04:45.000Z�nsp�/��rooms��+sails_model_vehicles_66851:update:positions�flags�
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.