Package org.menacheri.zombieclient

Source Code of org.menacheri.zombieclient.ZombieJetclient

package org.menacheri.zombieclient;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;

import org.menacheri.jetclient.app.Session;
import org.menacheri.jetclient.app.impl.SessionFactory;
import org.menacheri.jetclient.communication.NettyMessageBuffer;
import org.menacheri.jetclient.event.Event;
import org.menacheri.jetclient.event.impl.AbstractSessionEventHandler;
import org.menacheri.jetclient.util.LoginHelper;
import org.menacheri.jetclient.util.LoginHelper.LoginBuilder;
import org.menacheri.zombie.domain.IAM;

public class ZombieJetclient
{
  public static void main(String[] args) throws Exception
  {
    LoginBuilder builder = new LoginBuilder().username("user")
        .password("pass").connectionKey("Zombie_ROOM_1_REF_KEY_1")
        .jetserverTcpHostName("localhost").tcpPort(18090)
        .jetserverUdpHostName("255.255.255.255").udpPort(18090);
    LoginHelper loginHelper = builder.build();
    SessionFactory sessionFactory = new SessionFactory(loginHelper);
    ScheduledExecutorService taskExecutor = Executors.newSingleThreadScheduledExecutor();
    for(int i = 1; i<=50; i++){
      Session session = sessionFactory.createAndConnectSession();
      addDefaultHandlerToSession(session);
      GamePlay task = null;
      if((i % 2) == 0){
        task = new GamePlay(IAM.DEFENDER, session);
      }
      else{
        task = new GamePlay(IAM.ZOMBIE, session);
      }
      taskExecutor.scheduleAtFixedRate(task, 2000, 200, TimeUnit.MILLISECONDS);
    }
  }
 
  private static void addDefaultHandlerToSession(Session session)
  {
    // we are only interested in data in, so override only that method.
    AbstractSessionEventHandler handler = new AbstractSessionEventHandler(session)
    {
      @Override
      public void onDataIn(Event event)
      {
        NettyMessageBuffer buffer = (NettyMessageBuffer)event.getSource();
        System.out.println("Remaining Human Population: " + buffer.readInt());
      }
    };
    session.addHandler(handler);
  }
}
TOP

Related Classes of org.menacheri.zombieclient.ZombieJetclient

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.