Gin: SockJS ํ†ตํ•ฉ

์— ๋งŒ๋“  2014๋…„ 11์›” 15์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: gin-gonic/gin

์•ˆ๋…•ํ•˜์„ธ์š”,
ํ•ธ๋“ค๋Ÿฌ๊ฐ€ http.Handler ์œ ํ˜•์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ sockjs ์„œ๋ฒ„(http://godoc.org/gopkg.in/igm/sockjs-go.v2/sockjs)๋ฅผ ํ†ตํ•ฉํ•˜๊ธฐ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

์ดˆ๊ธฐํ™” ํ”„๋กœ๊ทธ๋žจ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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)
}

๋ชจ๋“  3 ๋Œ“๊ธ€

ํ”„๋ ˆ์ž„์›Œํฌ์˜ ํ•˜์œ„ ์ˆ˜์ค€์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์„ ํ™•์ธํ•˜์„ธ์š”. #51

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 ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค. ์ด์™€ ๊ฐ™์€ ํ–ฅํ›„ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๊ณง readme๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰