Size: a a a

2021 June 14

JS

James Schultz in Go-go!
func makeSetIdEvent(player *Enemy) {
 var yourIdIs []byte = make([]byte, 5)
 yourIdIs[0] = serverMsg_yourId

 binary.LittleEndian.PutUint32(
   yourIdIs[1:5],
   math.Float32bits(float32(player.id)))

 if player.eventChan == nil {
   fmt.Println("player.eventChan == nil")
 }

 player.eventChan <- yourIdIs

}
источник

JS

James Schultz in Go-go!
указатель на энеми живой
а вот указатель на канал - нет
источник

VY

Vladislav Yarmak in Go-go!
а порядок выполнения точно правильный?
источник

VY

Vladislav Yarmak in Go-go!
нет такого, что инициализация поля происходит после первой записи в канал?
источник

JS

James Schultz in Go-go!
инициализация энеми в init
запись в канал - после подключения клиента(руками запускаю)
источник

VY

Vladislav Yarmak in Go-go!
а откуда хандлер подключения берёт player *Enemy?
источник

VY

Vladislav Yarmak in Go-go!
не портит ли оно там поля по пути?
источник

S

Sergey in Go-go!
Тут и в коде выше все норм, где-то в другом месте ломается. Дебаг в руки и вперёд)
источник

JS

James Schultz in Go-go!
в яблочко!
источник

JS

James Schultz in Go-go!
нашёл место где подмена была вместо копирования того что надо при подключении
источник

VY

Vladislav Yarmak in Go-go!
ништяк
источник

IL

Ihor Levchenko in Go-go!
есть ли какой-то способ замокать http.Client (а конкретно Do метод)?

Не создавая свой собственный интерфейс своего HttpClient

а замокать дефолтный подменив метод
источник

DP

Daniel Podolsky in Go-go!
нет, там конкретный тип
источник

DP

Daniel Podolsky in Go-go!
но почему бы не сделать свой интерфейс?
источник

ЛА

Локоть Анатолий... in Go-go!
Возможно, пакет httptest поможет.
Вот метод, который вернет клиента - https://golang.org/pkg/net/http/httptest/#Server.Client
Я не пробовал, ручаться не могу.
источник

с

сонная википедия... in Go-go!
это не мок, это полноценный http сервер
источник

с

сонная википедия... in Go-go!
просто обертка для тестов
источник

ЛА

Локоть Анатолий... in Go-go!
Сможем замокать замокать ответ сервера в данном случае.
И интерфейс не нужен
источник

IL

Ihor Levchenko in Go-go!
ага.. спасибо.
Я в общем не придумал ничего лучше, как сделать свой testhttp.NewServer

а затем взять URL с этого сгенерированного сервера и “пропатчить” ним свой клиент чтобы запросы уходили на мой “МОК сервер”)
и в общем это наверное лучший вариант )
источник

VY

Vladislav Yarmak in Go-go!
зато можно дефолтному http-клиенту навесить свой RoundTripper с моком
источник