Não recebe os dados do buffer
Enviado: Sáb Set 30, 2017 6:10 pm
Eae galera,
Estou aprendendo a mexer com networking, já vi vários tutoriais... Já sei a mecânica toda, como funciona tudo basicamente. Só que quase nenhum tutorial ensina como mexer de forma dinâmica, o que é bastante difícil. Mas chega de bla bla bla.
È o seguinte, to tentando fazer um chat online. Por enquanto to fazendo algo bem simples. Meu problema é que quando eu mando o buffer pro meu servidor, ele não recebe ou não sei o que acontece, mas não aparece nada no draw.
Lá vai o script do client para mandar pro server:
Certo, agora vai o script para receber os dados
E agora, o script do draw do servidor
O problema é que praticamente quando aperto enter pra enviar a mensagem, nao acontece nada... Nem o nome do player aparece. Só fica os ":" ...
Agradeço desde já :)
Estou aprendendo a mexer com networking, já vi vários tutoriais... Já sei a mecânica toda, como funciona tudo basicamente. Só que quase nenhum tutorial ensina como mexer de forma dinâmica, o que é bastante difícil. Mas chega de bla bla bla.
È o seguinte, to tentando fazer um chat online. Por enquanto to fazendo algo bem simples. Meu problema é que quando eu mando o buffer pro meu servidor, ele não recebe ou não sei o que acontece, mas não aparece nada no draw.
Lá vai o script do client para mandar pro server:
Código: Selecionar todos
//ISSO TA NO STEP DO OBJETO CLIENT
txt = keyboard_string;
if(keyboard_check_released(vk_enter)) {
txt = message_to_send;
keyboard_string = "";
buffer_seek(client_buff,buffer_seek_start,0);
buffer_write(client_buff,buffer_string,txt);
buffer_write(client_buff,buffer_string,name);
network_send_packet(client_sock,client_buff,buffer_tell(client_buff));
}
Código: Selecionar todos
//ISSO TA NO ASYNC DO SERVIDOR
switch(type) {
case network_type_connect:
ds_list_add(sockets,socket);
break;
case network_type_disconnect:
var index = ds_list_find_index(sockets,socket);
ds_list_delete(sockets,index);
break;
case network_type_data:
//data
var index = ds_list_find_index(sockets,socket);
var buff = ds_map_find_value(async_load,"buffer");
txt_line[index] = buffer_read(buff,buffer_string);
txt_name = buffer_read(buff,buffer_string);
break;
}
Código: Selecionar todos
for(i=0;i<= ds_list_size(sockets); i++){
draw_text(x,y+16+i*16,string(txt_name) + ": "+string(txt_line[i]));
}
Agradeço desde já :)