|
@@ -59,6 +59,10 @@ func (s *Socket) read() {
|
|
|
//defer log.Println("work close...")
|
|
|
// контекст
|
|
|
s.ctx, s.cancel = context.WithCancel(context.Background())
|
|
|
+ defer func() {
|
|
|
+ s.cancel()
|
|
|
+ s.conn.Close()
|
|
|
+ }()
|
|
|
// создаем канал для обработки входящих сообщений
|
|
|
chIn := s.exec()
|
|
|
for {
|
|
@@ -74,7 +78,6 @@ func (s *Socket) read() {
|
|
|
// Обработка текстового или бинарного сообщения
|
|
|
req, err := rest.ReadRequestStream(r)
|
|
|
if err != nil {
|
|
|
- s.conn.Close()
|
|
|
log.Println("data error: ", err)
|
|
|
return
|
|
|
}
|