Я сейчас учусь делать мультиплеерные игры в game maker. Наткнулся на проблему. Клиент не принимает буферы с сервера, будто бы сервер ничего ему и не отправляет. Я перепроверял и переписывал свой код десятки раз, но не могу решить проблему. Пока что я думаю что сервер отправляет буферы не на сокет клиента, а на какой-то другой. Вот если что код для сервера (отправка данных с сервера на клиент): switch async_load[? "type"] { case network_type_connect: var _socket = async_load[? "socket"] if obj_buffer_get.networking = 1 { var _buffer = buffer_create(32,buffer_fixed,1) buffer_write(_buffer,buffer_s16,obj_player_2.x) buffer_write(_buffer,buffer_s16,obj_player_2.y) network_send_packet(_socket,_buffer,buffer_tell(_buffer)) } break case network_type_disconnect: show_message("-1 PLAYER") break }
Вот код клиента (получение данных с сервера): switch async_load[? "type"] { case network_type_connect: networking = 1 obj_player_2.x = buffer_read(async_load[? "buffer"],buffer_s16) obj_player_2.y = buffer_read(async_load[? "buffer"],buffer_s16) break case network_type_disconnect: networking = 0 break }
Вот если что код для сервера (отправка данных с сервера на клиент):
switch async_load[? "type"] {
case network_type_connect:
var _socket = async_load[? "socket"]
if obj_buffer_get.networking = 1 {
var _buffer = buffer_create(32,buffer_fixed,1)
buffer_write(_buffer,buffer_s16,obj_player_2.x)
buffer_write(_buffer,buffer_s16,obj_player_2.y)
network_send_packet(_socket,_buffer,buffer_tell(_buffer))
}
break
case network_type_disconnect:
show_message("-1 PLAYER")
break
}
Вот код клиента (получение данных с сервера):
switch async_load[? "type"] {
case network_type_connect:
networking = 1
obj_player_2.x = buffer_read(async_load[? "buffer"],buffer_s16)
obj_player_2.y = buffer_read(async_load[? "buffer"],buffer_s16)
break
case network_type_disconnect:
networking = 0
break
}