Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por joaoneto em Seg 02 Fev 2009, 14:06

Na Aula anterior eu falei sobre Listeners e Clients, Objetos que são a base de todo Game On-line.
O GM por padrão possui uma Engine de Comunicação TCP, porém não iremos usá-la, por ser muito básica, pesada demais e não funcionar “Behind Router”. Todos os termos desconhecidos serão explicados no decorrer do curso.
Usaremos como base para nossos testes e exemplos de comunicação TCP a SOC – Simple Online Communication.
De todas as Dlls de comunicação TPC ela é a mais simples de usar, a mais rápida em comunicação e o principal, funciona tanto UDP (intranet) quanto TCP Behind Router.
A primeira coisa a fazer é baixar os scripts Fonte, a dll e o Directserver, Aqui.

Ao terminar o Download, crie um novo projeto no GM. Crie uma pasta para ele, e chame-o de Client. Dentro da pasta onde salvou o projeto, coloque a soc.dll.
Volte ao projeto. Clique no menu Scripts -> Import Scripts como mostra a figura abaixo:

Selecione o arquivo socAll.gml
Ao finalizar, seu diretório de scripts estará assim:

Usaremos este primeiro teste como exemplo para todas as próximas lições então, lembre-se, os passos acima são os iniciais SEMPRE que começar um novo projeto On-line no GM.

Para efetuarmos um primeiro teste, não criaremos o Listener.
Usaremos o Directserver, um Listener Básico que vem com o soc.dll para testes de comunicação.
A primeira coisa a fazer é iniciar o Directserver. Ao iniciá-lo, ele pergunta qual porta ele deve “escutar”.
Digite 8040 e pressione Enter.
Ele perguntará se ele deve mostrar as mensagens recebidas, aperte Y e pressione Enter.
Ao fazer isso a primeira vez, o Firewall do Windows pedirá permissão para desbloquear a porta para o aplicativo. Desbloqueie. Observe a figura abaixo:

Pronto. Qualquer comunicação TCP que chegar à porta 8040 agora será “escutada” pelo Directserver.
Vamos fazer um teste??
Crie um Objeto, Chame-o de objStart. Adicione um Evento Create, e nele um Execute a Piece of Code. Neste Execute, adicione as seguintes linhas:
Código:
//Iniciando o Socket
soc_init();
//Conectando ao servidor
if (!player_connect(8040, "localhost")) {
    show_message("Falha ao Conectar no servidor.")
    soc_free();
    game_end();
}
Mas o que fizemos aqui??
Antes de mais nada iniciamos a dll. Na verificação abaixo, aguardamos um retorno verdadeiro da função de conexão, onde passamos como parâmetro a porta selecionada no directserver e o nome LocalHost. Se você já fez algum jogo Online, sabe que LocalHost significa sua máquina Local, ou seja, não há necessidade de se colocar um IP.
Agora sim. Crie uma room, coloque o objStart nela e execute o jogo. Se foi tudo feito como foi falado aqui, seu DirectServer deve mostrar a seguinte mensagem:

Observe que ele está mostrando o IP como 127.0.0.1. Este é o IP interno padrão de todo computador, Podemos usar tanto ele, quanto LocalHost quanto o nome da máquina.
Ao fechar o jogo, o DirectServer mostrará a seguinte mensagem:

Bom. De ínício, vimos que não é tão “complexo” iniciar a Dll e os scripts do SOC.
Não criamos o servidor pois usamos um padrão e, de cara, não fizemos nada além de ver o servidor dizer que estávamos conectados(e como Player 2 ainda... Mas onde está o Player 1??) mas demos um grande passo.

Eu configurei os scripts para facilitar a sua vida inicialmente, o script padrão que vem é bem mais complexo, usando a dll fora da pasta do jogo, usando constantes e outras chatices.

Bem, começamos... Vamos tentar não parar no meio do caminho agora.

Na próxima lição, vamos construir um Client de chat Simples, ainda usando o DirectServer como Servidor.

Até lá.


Última edição por joaoneto em Qua 04 Fev 2009, 14:14, editado 1 vez(es)

joaoneto

Número de Mensagens : 36
Idade : 39
Data de inscrição : 08/05/2008
Reputação : 7
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.deploy.net.br

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por valfogo em Ter 03 Fev 2009, 01:54

até agora simples Happy só tenho que ler todos esses scripts importados, se naum num vou entender o que eles fazem só pelo nome, nem PN Happy

vlws, *CONTINUANDO O TUTO

valfogo

Número de Mensagens : 44
Idade : 24
Data de inscrição : 16/01/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por CPinheiro em Dom 22 Fev 2009, 11:45

Excelente! A tempos esperava algum tutorial que ensinasse a usar a SOC, sempre quis aprender.

Agora, estou testando para ver se ela mostra resultados no Game Maker 5.3. Embora seja improvável, pode aconter, não é?
Boa sorte com as aulas.

CPinheiro

Número de Mensagens : 1015
Idade : 20
Data de inscrição : 01/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://supermariobrasileiro.blogspot.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por ETraud em Sex 17 Abr 2009, 17:27

Meu deus... VOCE É O REI! xD

ETraud

Número de Mensagens : 103
Idade : 24
Data de inscrição : 09/07/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.studio-natch.forumeiros.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por makgamer em Dom 17 Maio 2009, 21:08

cara seu código ra exelenteee!!!!!!!
mais desculpa por reviver o tópico mais eu testei e o chat só funsionava para quem estava no meu pc quem naum estava naum podia falar nele Sad
então eu tava pensando tem comofaser um chat por ip?
tipo no inicio do game ele pergunta teu ip ai se responde e o chat ja esta funsionando!!!!!!!
é possivel???

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Natch em Qua 02 Set 2009, 00:50

Desculpa por reviver o tópico, mas essa aula esta óptima...
parabéns...

Natch

Número de Mensagens : 501
Idade : 27
Data de inscrição : 05/06/2008
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://studionatch.com.sapo.pt/

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por doidobr em Qui 14 Jan 2010, 19:32

Deu um erro kra,ta excrito:

ERROR in
action number 1
of Create Event
for object objStart:

Error defining an external function.

Oque pode ser?

doidobr

Número de Mensagens : 669
Idade : 22
Data de inscrição : 21/02/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Mário Valney em Qui 14 Jan 2010, 20:13

doidobr escreveu:Deu um erro kra,ta excrito:

ERROR in
action number 1
of Create Event
for object objStart:

Error defining an external function.

Oque pode ser?

Por coincidencia eu estava estudando esse tutorial ontem.

JN PARABÉNS!!!!!!!!!!! MUITO BOM. ÓTIMO! FÁCIL DE ENTENDER! SIMPLESMENTE FODA.

Mas voltando... esse erro dá quando a soc.dll naum está na "mesma pasta" que o arquivo. Entaum pra testar tem que criar o executável ter certeza de a dll estar na mesma pasta.

Ah! E alguem ai perguntou se dá pra pessoas de computadores diferentes se comunicarem. Acho que ele nem lembra que perguntou, foi em maio, mas pode ajudar alguém... Dá sim. Mas uma das pessoas tem que "criar" o servidor (listener) no seu PC.

-Primeiro troca:

Código:
//Iniciando o Socket
soc_init();
//Conectando ao servidor
if (!player_connect(8040, "localhost")) {
    show_message("Falha ao Conectar no servidor.")
    soc_free();
    game_end();
}

[Foi mal JN mas eu mudei um negócio aki. Todos os créditos são do JN, dã.]

- Por:
Código:
//Iniciando o Socket
soc_init();
//Conectando ao servidor
if (!player_connect(8040,get_string('Digite o IP de um Listener válido.','127.0.0.1'))) {
    show_message("Falha ao Conectar no servidor.")
    soc_free();
    game_end();
}

1- Abre o DirectServer e coloca porta "8040" e "y" .
2 - Quando pedir o IP. Quem criou o listener no próprio PC coloca "localhost" ou "127.0.0.1" => IP local. ou só aperta OK (já tá lá o IP local)
3 - E o(s) cara(s) que naum criou(aram) o Listener (DirectServer) devem colocar o IP de quem criou.

Dá certo. Conversei com um colega do RIO perfeitamente!

Spoiler:
Foi mal re-rescussitar, mas naum poderia deixar de responder...

Mário Valney

Ranking : Nota A
Número de Mensagens : 203
Idade : 24
Data de inscrição : 16/11/2009
Notas recebidas : A
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://www.areaonze.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por luancarlos300 em Sex 12 Fev 2010, 22:22

Muito bom mesmo esta de parabens kara eu posso coloca at xae irado mesmo

luancarlos300

Número de Mensagens : 1
Data de inscrição : 12/02/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Tuche Maker em Seg 08 Mar 2010, 20:26

bora tem muito gostei
o que e esse projeto ??????????

Tuche Maker

Número de Mensagens : 39
Data de inscrição : 07/03/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por alexs2195 em Sab 18 Set 2010, 22:30

Esse é um dos melhores tutiriais que achei no GM br

alexs2195

Número de Mensagens : 218
Data de inscrição : 25/07/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por lucas_heitor em Seg 01 Nov 2010, 11:33

Cara eu queria saber se o GM v7.0 também funciona, porque o GM 6 eu não consigo baixar pelo teu link e sempre quando eu baixo de outros lugares da problema na hora de abri ele.

lucas_heitor

Número de Mensagens : 2
Data de inscrição : 01/11/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por lucas_heitor em Seg 01 Nov 2010, 11:59

o galera. masi uma pergunta. O Game Maker v6.1 roda no windows vista?


Aguardo resposta e parabéns pelo tutorial.

lucas_heitor

Número de Mensagens : 2
Data de inscrição : 01/11/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Lauro em Qua 10 Nov 2010, 22:28

cara tou usano gmk 8.0 serve?

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Mr. Kaleb em Qua 10 Nov 2010, 22:40

Tem que ser o Pro, não adianta ser só o 8.0

Mr. Kaleb

Ranking : Nota C
Número de Mensagens : 1400
Idade : 19
Data de inscrição : 07/09/2010
Notas recebidas : C
Reputação : 21
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Konnor em Dom 14 Nov 2010, 14:22

Eu troquei o localhost pelo ip do meu Hamachi e testei no outro computador e deu esse erro:

ERROR in
action number 1
of Create Event
for object ObjStart:

Error defining an external function

Algo assim,por que?

Konnor

Número de Mensagens : 153
Idade : 19
Data de inscrição : 07/11/2010
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://socialbook.grouply.com/

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Gabreel em Dom 14 Nov 2010, 14:56

Porque o outro computador tem que estar com a DLL tb

Gabreel

Número de Mensagens : 2227
Idade : 20
Data de inscrição : 02/10/2009
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Lauro em Ter 23 Nov 2010, 20:36

The Games Never Finish... escreveu:Tem que ser o Pro, não adianta ser só o 8.0
Eu uso!Axei num link loko la e baixei.

Lauro

Ranking : Nota D
Número de Mensagens : 854
Idade : 19
Data de inscrição : 09/11/2010
Notas recebidas : C+D
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.google.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Geison Barillo em Sab 01 Out 2011, 03:52

Olá senhor
Quando fui baixar o material mencionado no início deste post fui parar no 4shared.Baixei e não venho nenhum material.O que faço???

Geison Barillo

Número de Mensagens : 9
Idade : 36
Data de inscrição : 25/09/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http:// geison-gamedesign.blogspot.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por dudu1997 em Sab 17 Dez 2011, 00:07

Joao neto nao consigo baixar o directserver,soc.dll e nem os scripts fontes.

dudu1997

Número de Mensagens : 2
Data de inscrição : 16/12/2011
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Isaque Onix em Sex 13 Jan 2012, 19:23

não ta dando pra fazer download :'( me ajudem por favor
EDIT: foi mau eu ter dado um 'duble post' mais o meu não tava aparecendo aqui!!!
E NUM DA PRA FAZER O DOWNLOAD NÃO!!! zangado


Última edição por MC D_LIRIO em Sab 14 Jan 2012, 17:56, editado 1 vez(es)

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Isaque Onix em Sab 14 Jan 2012, 17:53

NUM DA PRA FAZER O DOWNLOAD NÃO!!! zangado

Isaque Onix

Número de Mensagens : 1597
Idade : 23
Data de inscrição : 15/08/2010
Reputação : 147
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://spyreserver.16mb.com

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Joton em Sab 14 Jan 2012, 20:09

Infelizmente o João Neto não entra faz um bom tempo, então não vai adiantar tu fazer post duplo, como você vê existe mais que perguntam a mesma coisa.

Como você já foi alertado -25% de warning, evite post duplo caso não queira ser banido


Última edição por Joton em Sab 14 Jan 2012, 20:16, editado 2 vez(es) (Razão : reavaliação)

Joton

Ranking : Nota B
Número de Mensagens : 836
Idade : 28
Data de inscrição : 25/07/2010
Notas recebidas : A+B+C
Reputação : 5
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 2
   : 0
   : 0

http://jotonsn.blogspot.com/

Voltar ao Topo Ir em baixo

Re: Curso GM Online - 2º Lição - Primeiro teste Client/Listener

Mensagem por Conteúdo patrocinado Hoje à(s) 17:54


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum