Multijogador de rede em Flash

8

O Flash percorreu um longo caminho na última década, e é um segredo bem guardado obter um jogo em Flash para conectar-se a um servidor de múltiplos clientes para bate-papo e / ou movimento básico de avatar em tempo real.

Por que a indústria como um todo ainda não transformou isso em um tipo de conhecimento comum? Continuamos pressionando a web, mas estou achando incrivelmente difícil reunir material de aprendizado sobre esse assunto.

Certamente, posso encontrar tutoriais de soquete de servidor para vários clientes em vários idiomas (usando instruções e / ou threads de seleção para lidar com várias conexões de soquete), mas no que diz respeito aos aplicativos Flash dentro de um navegador? NÃO!

Todos podem compartilhar o que sabem? :] É um assunto que eu realmente adoraria abordar, mas receio que honestamente não saiba o suficiente sobre como fazê-lo.

shadowprotocol
fonte
Eu estava analisando isso há muitos anos, antes de a Adobe aparecer, e telefonei para a Macromedia diretamente depois de não encontrar nada online. Eles me disseram que apenas as comunicações XML eram suportadas e que a E / S de soquete direta simplesmente não era possível e não estava nos planos. Para um MMO, a leitura / gravação de bytes específicos de dados é importante do ponto de vista da otimização de desempenho e o XML carrega quantidades ridículas de sobrecarga para esse tipo de coisa (é um desperdício empacotar / analisar mais de 50 bytes para enviar / receber alguns bytes de dados repetidamente - que a energia da CPU deve ir para o jogo).
Randolf Richardson

Respostas:

2

O motivo pelo qual você não encontra informações sobre como executar um servidor de soquete do Flash no navegador é porque não é possível. Você pode conectar-se apenas a um servidor de soquete a partir de um filme em Flash executado no navegador.

Para executar um servidor de soquete com o Flash, você precisa criar um aplicativo AIR 2.x que seja executado na área de trabalho. Este artigo no Adobe AIR Developer Center deve começar.

NoobsArePeople2
fonte
Eu quis dizer exatamente o que você disse - conectando a um servidor de soquete de flash, não correr Flash como um sever socket (eu nunca chegou a dizer que, para começar ..)
shadowprotocol
Você mencionou "tutoriais de soquete de servidor multi-cliente ... manipulando [várias] conexões de soquete". Eu li isso como desejando executar um servidor de soquete dentro do Flash Player. De qualquer forma, o artigo que vinculei também explica como conectar-se a um servidor de soquete no Flash.
NoobsArePeople2
0

Eu imagino que a razão pela qual você não está ouvindo muito sobre o Flash se conectar a um servidor com vários clientes é possivelmente porque você está pesquisando apenas o lado do Flash e não o elemento do lado do servidor.

É menos um problema de front-end / do lado do cliente e mais um gerenciamento de estado do servidor, conexões (ou seja, players), atualizações de dados (base) e outras coisas.

Eu vi uma bela abstração usada com o SmartFoxPro . Eles oferecem o cliente de bate-papo plug-and-play, o cliente da sala e a API do jogo que você pode conectar como um desenvolvedor de flash / actionscript.

Honestamente, você deve dar uma olhada no desenvolvimento de jogos para vários jogadores da perspectiva do servidor (java - redwarf , ruby , python ( pistão como estrutura), até mesmo php usando uma estrutura como codeigniter para um aplicativo leve).

Dê uma olhada na pesquisa desse ângulo e espero que ajude!

Dominic Tancredi
fonte