Exemple #1
0
func onConnOpen(r kiwi.MessageReceiver, s kiwi.MessageSender) {
	for {
		msg, err := r.ReadWhole(1 << 20)

		if err != nil {
			log.Println(err)
			s.SendClose(kiwi.CloseCodeGoingAway, "", true, false)
			break
		}

		if msg.IsText() {
			if err = router.Serve(msg, s); err != nil {
				log.Println(err)
				s.SendClose(kiwi.CloseCodeGoingAway, "", true, false)
			}
		} else if msg.IsClose() {
			s.SendClose(kiwi.CloseCodeNormalClosure, "", true, false)
			break
		}
	}
}