рдирдорд╕реНрддреЗ,
рдореБрдЭреЗ рдПрдХ рд╕реЙрдХрдЬ рд╕рд░реНрд╡рд░ (http://godoc.org/gopkg.in/igm/sockjs-go.v2/sockjs) рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдирд╛ рдХрдард┐рди рд▓рдЧрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣реИрдВрдбрд▓рд░ рдПрдХ http.Handler рдкреНрд░рдХрд╛рд░ рд▓реМрдЯрд╛рддрд╛ рд╣реИред
рдпрд╣рд╛рдБ рдкреНрд░рд╛рд░рдВрднрдХрд░реНрддрд╛ рд╣реИ:
var messageHandler = sockjs.NewHandler("/api/messages", sockjs.DefaultOptions, func(session sockjs.Session) {
go func() {
receiveMessage(session)
}()
})
рдореИрдВ рдЗрд╕реЗ рдХреЗрд╡рд▓ func (c *gin.Context)
рдореЗрдВ рд▓рдкреЗрдЯ рдирд╣реАрдВ рд╕рдХрддрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╢рд╛рдпрдж рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ ..?
рдорджрдж рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред
рдЖрдк рдврд╛рдВрдЪреЗ рдХреЗ рдирд┐рдЪрд▓реЗ рд╕реНрддрд░ рдкрд░ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдХреГрдкрдпрд╛ рдЗрд╕реЗ рдЬрд╛рдВрдЪреЗрдВ: #51
рдзрдиреНрдпрд╡рд╛рдж рдЬреЗрд╡рд┐рдпрд░!
рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП:
func messageHandler(c *gin.Context) {
sockjsHandler := sockjs.NewHandler("/api/messages", sockjs.DefaultOptions, func(session sockjs.Session) {
go func() {
receiveMessage(session)
}()
})
sockjsHandler.ServeHTTP(c.Writer, c.Request)
}
@gplume рдмрдврд╝рд┐рдпрд╛, рдЗрд╕ рддрд░рд╣ рдХреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдореБрджреНрджреЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдЬрд▓реНрдж рд╣реА рд░реАрдбрдореА рдЕрдкрдбреЗрдЯ рдХрд░ рджреВрдВрдЧрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
51 рдореБрджреНрджрд╛ рдФрд░ рдЙрджрд╛рд╣рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдзрдиреНрдпрд╡рд╛рдж рдЬреЗрд╡рд┐рдпрд░!
рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП: