예제 #1
0
  public void Click_criarServidor(View sender) {
    ViewUtil.closeKeyboard(this);

    String serverIp = RedeUtil.getLocalIpAddress();

    if (serverIp == null) {
      DialogHelper.message(this, "Conecte-se a alguma rede");
    } else if (!checkNickname(getName().length())) {
      DialogHelper.message(this, "Insira um nickname entre 1 e 10 caracteres.");
    } else if (!escolheuTime) {
      DialogHelper.message(this, "Escolha o seu Time.");
    } else {
      if (gerente != null) {
        gerente.killMeSoftly();
      }

      gerente = new GerenteDEConexao(PORTA_PADRAO);

      gerente.iniciarServidor(new ControleDeUsuariosServidor());

      final DepoisDeReceberDados tratadorDeDadosDoCliente = new ControleDeUsuariosCliente();

      usuario = GerenciadorActivity.GetInstance().getPlayer().getNome();

      Thread socketThread =
          new Thread(
              new Runnable() {

                public void run() {
                  Socket s;
                  try {
                    s = new Socket("127.0.0.1", PORTA_PADRAO);
                    conexao = new Conexao(s, usuario, tratadorDeDadosDoCliente);

                  } catch (UnknownHostException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                  } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                  }
                }
              });

      socketThread.start();

      SoundManager.getInstance().StopSong("MenuSound");
      DialogHelper.message(this, "Endereço Server: " + serverIp);

      viewDoJogo =
          new ViewDeRede(this, conexao, (ControleDeUsuariosCliente) tratadorDeDadosDoCliente);
      setContentView(viewDoJogo);
    }
  }
예제 #2
0
  public void Click_conectar(View sender) {

    if (!escolheuNome) {
      DialogHelper.message(this, "Insira um nickname entre 1 e 10 caracteres.");
    }

    if (!escolheuTime) {
      DialogHelper.message(this, "Escolha o seu Time.");
    }

    String ip = editIP.getText().toString();

    if (ip.trim().length() == 0) {
      DialogHelper.message(this, "endereco do servidor nao pode ser vazio");

    } else {
      ViewUtil.closeKeyboard(this);

      try {
        SoundManager.getInstance().StopSong("MenuSound");

        DepoisDeReceberDados tratadorDeDadosDoCliente = new ControleDeUsuariosCliente();

        usuario = GerenciadorActivity.GetInstance().getPlayer().getNome();
        Socket s = new Socket(ip, PORTA_PADRAO);
        conexao = new Conexao(s, usuario, tratadorDeDadosDoCliente);

        // garante que view possa recuperar a lista de usuarios atual e
        // enviar dados pela rede
        viewDoJogo =
            new ViewDeRede(this, conexao, (ControleDeUsuariosCliente) tratadorDeDadosDoCliente);
        setContentView(viewDoJogo);

      } catch (UnknownHostException e) {
        DialogHelper.error(this, "Erro ao conectar com o servidor", ConectActivity.TAG, e);

      } catch (IOException e) {
        DialogHelper.error(this, "Erro ao comunicar com o servidor", ConectActivity.TAG, e);
      }
    }
  }