buf := make([]byte, 1024)
_, err := genConn.tcpConn.Read(buf)
if err != nil {
removeConnection(genConn) //close connection and stop reading it
break
}
treatData(buf)
time.Sleep(16 * time.Millisecond) // prevents from reading more than once/frame on a socket
}
1- если мне начнут на него слать пакеты БОЛЬШЕ 1024 байта, что произойдет? я прочитаю лишь кусок этого пакета, а остальное прочитаю в следующей итерации и произойдет белиберда?
2- если мне начнут спамить пакетами меньше 1024 байта, но у меня стоит Sleep и читаю с сокета я тока раз в фрейм, там ГДЕ-ТО может накопиться гигабайты данных для чтения и в итоге забить память говном?
Тебе яишку не на чем жарить? Шо ты проц решил подогреть
придет ровно по размеру (никакого досыла не будет!)
Обсуждают сегодня