FlashSmartFox1

/ Tutoriais

Desenvolvendo aplicações cliente-servidor [01/03]

com Flash/ActionScript e SmartFoxServer

Olá a todos!

Neste tutorial irei abordar a base da criação de aplicações cliente-servidor usando Flash/ActionScript no cliente e o servidor SmartFoxServer. Este é o primeiro de uma série de 3 tutoriais. Neste momento não será desenvolvida a aplicação de fato. Ensinarei como instalar, entender e organizar um projeto utilizando as ferramentas e linguagens citadas anteriormente. Um outro tutorial será elaborado em seguida abordando o desenvolvimento de uma aplicação cliente-servidor simples. Este tutorial é um pré-requisito para o seguinte.

1) O que é uma aplicação cliente-servidor?

De maneira simples, uma aplicação cliente-servidor é definida como um modelo computacional no qual um ou mais programas (clientes) fazem requisições a um ou mais computadores centrais (servidores) e recebem respostas deles, sendo a conexão geralmente feita através de uma rede.

Uma aplicação cliente-servidor deve ser concebida utilizando programação assíncrona, o que significa que a execução de determinados trechos de código não deve ser feita de forma linear, mas sim ser pensada para rodar após um determinado evento ter ocorrido. Por exemplo: ao abrir o jogo, o usuário não pode ser encaminhado diretamente à tela onde vai jogar de fato. A aplicação deve ser feita de forma a esperar uma autorização do servidor para só então encaminhar o usuário à tela correta.

2) O que é o SmartFoxServer?

O SmartFoxServer é uma plataforma para desenvolvimento de aplicações e jogos multiusuários cliente-servidor. Ela suporta Adobe Flash/Flex/Air, Java, Android, .Net, Unity3D, Silverlight, Apple iPhone, entre outros.

3) Instalando o SmartFoxServer e entendendo seu funcionamento básico (lado servidor).

Antes de mais nada, considerem dar uma olhada na documentação do SmartFoxServer (em Inglês):  http://www.smartfoxserver.com/docs/

A versão que utilizarei nos tutoriais é a Pro. O download pode ser feito em http://www.smartfoxserver.com/products/pro.php#downloads

No Windows a instalação é bem simples. É só executar o instalador e seguir as instruções. Após a instalação, aparece um executável “Start SmartFoxServer”, que é usado para iniciar o servidor.

A primeira coisa que é necessário saber sobre o SmartFoxServer é entender o arquivo config.xml. Este arquivo configura o servidor, as zonas, as salas e as extensões. A lista de todas as configurações possíveis está na documentação. Neste momento é necessário apenas entender o que significa cada um desses elementos.

O servidor, como o nome já diz, é o software que provê todos os recursos às aplicações clientes. Ele possui configurações gerais como IP, login e senha de administração, entre outras.

Uma zona define uma aplicação dentro do servidor (um jogo, um chat, etc.). Um servidor pode rodar várias zonas, ou seja, dentro dele podem estar definidas várias aplicações distintas.

As salas funcionam como ambientes dentro de uma zona. Um jogo de cartas, por exemplo, pode ter um ambiente inicial no qual o jogador escolhe se quer jogar uma partida de treino ou uma partida contra outros jogadores. Este ambiente inicial e as seções de treino e de jogadores contra jogadores podem ser salas dentro da zona do jogo.

Por fim, as extensões são componentes que podem ser acoplados a zonas ou salas para definir a lógica da aplicação no servidor. Em um jogo de Poker, por exemplo, será necessária a existência de uma ou mais extensões que definam todas as regras do jogo, descrevendo as jogadas que os jogadores podem fazer e as consequências de cada uma delas.

4) Lado cliente da aplicação.

Do lado cliente, a aplicação pode ser feita em Flash/Actionscript. Nesse caso, é necessário utilizar API de Flash do SmartFoxServer.  Dentro do diretório de instalação do SmartFoxServer, existe a pasta Flash/Actionscript 3.0/Para fazer com que o Flash enxergue esta API, devemos fazer o seguinte:

  1. Abrir o Flash e clicar em “Edit” -> “Preferences” (“Editar” -> “Preferências”);
  2. Clicar na categoria “ActionScript” e depois em “ActionScript 3.0 Settings”;
  3. Em “Souce path”, clicar no botão “+” e adicionar o caminho da pasta Flash/Actionscript 3.0/

Pronto! Você já conseguiu preparar um ambiente de desenvolvimento para sua aplicação cliente-servidor!

Agora precisamos entender um pouco mais de como o cliente vai se relacionar com o servidor. A aplicação cliente, após a configuração acima, terá acesso às classes SFSEvent, SmartFoxClient, Room e User. A classe SmartFoxClient é responsável por se conectar ao servidor e receber as respostas dele, disparando eventos. Estes eventos são da classe SFSEvent e podemos criar funções para dar o tratamento desejado a eles no lado do cliente.  Por exemplo: queremos estabelecer uma conexão entre o cliente e o servidor. Criamos um objeto da classe SmartFoxClient e fazemos com que uma função escute o evento OnConnection que ela dispara ao se conectar ao servidor. Em seguida, usamos o método connect do SmartFoxClient e quando o servidor responder, a função que foi criada para escutar o evento será executada.

As classes Room e User, como os próprios nomes dizem, são usadas pelo cliente SmartFox para ter acesso às propriedades das salas do servidor e de cada usuário que se desejar, respectivamente.

No 2º tutorial veremos um exemplo prático de aplicação cliente-servidor. Será desenvolvido um chat simples e o código ficará disponível para download.



Virtualize Soluções Digitais

Empresa especializada na criação de sites, desenvolvimento de jogos, de aplicativos para celular e para redes sociais como o Facebook. Localizada em Salvador - BA.