Java 类com.esotericsoftware.kryonet.Connection 实例源码

项目:ProjektGG    文件:GameServer.java   
private synchronized void onNewConnection(Connection con) {
    Gdx.app.log("Server", "Client connected");

    Player p = PlayerUtils.getRandomPlayer(players.values());
    players.put(playersJoinedCount, p);
    clients.put(playersJoinedCount, new ServerPlayer(p));
    connections.put(playersJoinedCount, con);

    // Inform the other clients
    server.sendToAllExceptTCP(con.getID(), new PlayerJoinedMessage(
            playersJoinedCount, players.get(playersJoinedCount)));

    // Send the setup response
    con.sendTCP(
            new GameSetupMessage(players, playersJoinedCount, settings));

    playersJoinedCount++;
}
项目:Catan    文件:CatanServer.java   
private GameResponse getRandomGame(Connection connection, Account account) {
    Game randomGame = null;
    // Go through the games
    if (gamesMap != null) {
        for (Game game : gamesMap.values()) {
            // If there's a game currently waiting for more players, that's the one to return
            if (!game.isInProgress() && game.getPlayerCount() < Config.MAX_PLAYERS) {
                // Add the player to the game
                game.addPlayer(account, connection.getID());
                gamesMap.put(account.getUsername(), game);
                randomGame = game;
            }
        }
    }
    return GameResponse.newInstance(randomGame);
}
项目:Catan    文件:LoginScreen.java   
public LoginScreen(CatanGame pGame) {
    aGame = pGame;
    listener = new Listener() {
        @Override
        public void received(Connection connection, Object object) {
            if (object instanceof LoginResponse) {
                Gdx.app.postRunnable(() -> {
                    // Handle the login response from the server
                    if (((LoginResponse) object).success) {
                        // Cache the account used to login successfully
                        AccountManager.writeLocalAccount(account);
                        CatanGame.account = account;
                        // Move on to the main screen
                        aGame.switchScreen(ScreenKind.MAIN_MENU);
                    } else {
                        errorMessageLabel.setText(ERROR_USERNAME);
                    }
                });
            }
        }
    };
}
项目:mindroid    文件:DeviceManager.java   
private void handleCreateMotorMessage(final Connection conn, final CreateMotorMessage msg) {
    Thread createMotor = new Thread(){
        @Override
        public void run(){
            LocalEV3.get().getLED().setPattern(9);

            if(motorPorts.containsKey(msg.getPort())){
                if(createMotorEndpoint( motorPorts.get(msg.getPort()),msg.getMotorType(),msg.getNetworkPort() )){
                    conn.sendTCP(BrickMessages.createEndpointCreatedMessage(true, msg.getPort(), "Motor endpoint created: "+msg.getPort(), false, true));       
                }else{
                    isBlocked = true;
                    System.out.println("System got blocked by handleCreateMotorMethod");
                    conn.sendTCP(BrickMessages.createEndpointCreatedMessage(false, msg.getPort(), "Motor endpoint not created: "+msg.getPort(), false, true));                      

                }
            }else{
                conn.sendTCP(BrickMessages.createEndpointCreatedMessage(false, msg.getPort(), "Port not found!"+msg.getPort(), false, true));
            }   
        }
        };
    creationThreads.add(createMotor);
    //createMotor.start();
}
项目:mindroid    文件:EV3MotorManager.java   
@Override
  public void received(Connection connection, Object object){
/** Message if the Endpoint-creation was successful or not **/
    System.out.println("Local-EV3MotorManager: received a message!");

if(object.getClass() == BrickMessages.EndpointCreatedMessage.class){
    BrickMessages.EndpointCreatedMessage ecmsg = (BrickMessages.EndpointCreatedMessage)object;
    System.out.println("Local-EV3MotorManager: Received a EndpointCreatedMessage! -> "+ecmsg.toString());
    if(ecmsg.isMotor()){
        if(ecmsg.isSuccess()){
            System.out.println("Local-EV3MotorManager: isSuccess at port "+ecmsg.getPort()+"#");
            if(motors.containsKey(EV3MotorPort.getPort(ecmsg.getPort()))){
                System.out.println("Local-EV3MotorManager: Endpoint creation successfull - connect to endpoint!");
                endpoints.get(EV3MotorPort.getPort(ecmsg.getPort())).connect();
            }else{
                System.out.println("Local-EV3MotorManager: Sensor does not exist");
            }
        }else{
            //TODO Tell Sensor/Motor Manager that endpoint creation failed
        }
    }
}
  }
项目:mindroid    文件:EV3Display.java   
@Override
public void received(Connection connection, Object object) {
    System.out.println("Local-EV3Display: Received Message "+object.toString());
    if(object.getClass() == BrickMessages.EndpointCreatedMessage.class){
        BrickMessages.EndpointCreatedMessage msg = (EndpointCreatedMessage) object;
        if(!msg.isMotor() && !msg.isSensor()){
            if(msg.isSuccess() && msg.getMsg().equals("DISPLAY")){
                connect();
                System.out.println("EV3-Display: connecting to endpoint!");
            }
        }
        return;
    }

    if(object.getClass() == DisplayMessages.HelloDisplay.class){
        ready = true;
    }

}
项目:Tower-Defense-Galaxy    文件:SpectateScreen.java   
@Override
public void show() {
    super.show();

    entities = new HashMap<Integer, EntityPacket.EntityRender>();

    game.getClient().sendTCP(new ViewShare("696969"));

    game.getClient().addListener(new Listener() {
        @Override
        public void received(Connection connection, Object o) {
            if(o instanceof EntityPacket)
                Gdx.app.log("Entities", "Session" + ((EntityPacket) o).session);
        }
    });
}
项目:VoiceChat    文件:VoiceChatClient.java   
/**
 * Makes this chat client process and respond to audio sent from the server. If this message is not called, you will not hear anything
 * from the server!
 * @param client The client that audio data will be sent to from the server. Just use the normal client.
 */
public void addReceiver(Client client){

    if(this.player == null)
        this.createPlayer();

    client.addListener(new Listener(){
        public void received(Connection connection, Object object) {

            // Only read objects of the correct type.
            if(object instanceof VoiceNetData){

                // Read data
                VoiceNetData message = (VoiceNetData)object;                    
                short[] data = message.getData();

                // Play audio
                processAudio(data, connection, message);
            }
        }           
    });
}
项目:MMORPG_Prototype    文件:RetrieveItemRewardPacketHandler.java   
@Override
public void handle(Connection connection, RetrieveItemRewardPacket packet)
{
    Character character = gameDataRetreiver.getUserCharacterByConnectionId(connection.getID());
    CharactersQuests quest = findSuiteQuest(character.getQuests(), packet.getQuestName());
    CharactersQuestsItemReward itemReward = findSuiteItemReward(quest.getItemsReward(), packet.getItemIdentifier());
    PlayerCharacter player = (PlayerCharacter) gameContainer.getObject(character.getId());
    InventoryPosition inventoryPosition = new InventoryPosition(packet.getDesiredInventoryPage(),
            packet.getDesiredInventoryX(), packet.getDesiredInventoryY());
    Item gameItem;
    if (itemReward.getNumberOfItems() == packet.getNumberOfItems())
        gameItem = GameItemsFactory.produce(itemReward.getItemIdentifier(), itemReward.getNumberOfItems(),
                IdSupplier.getId(), inventoryPosition);
    else
        throw new NotImplementedException("Not implemented yet");

    player.addItemAllowStacking(gameItem);
    connection.sendTCP(PacketsMaker.makeItemRewardRemovePacket(packet.getItemIdentifier(),
            itemReward.getNumberOfItems()));
    connection.sendTCP(PacketsMaker.makeItemPacket(gameItem));
}
项目:MMORPG_Prototype    文件:RetrieveGoldRewardPacketHandler.java   
@Override
public void handle(Connection connection, RetrieveGoldRewardPacket packet)
{
    Character character = gameDataRetriever.getUserCharacterByConnectionId(connection.getID());
    CharactersQuests quest = findSuiteQuest(character.getQuests(), packet.getQuestName());
    int goldReward = quest.getGoldReward();
    if (goldReward > 0)
    {
        quest.setGoldReward(0);
        character.setGold(character.getGold() + goldReward);
        packetsSender.sendTo(connection.getID(), PacketsMaker.makeGoldReceivePacket(goldReward));
        packetsSender.sendTo(connection.getID(),
                PacketsMaker.makeQuestRewardGoldRemovalPacket(goldReward));
    } else
        packetsSender.sendTo(connection.getID(),
                PacketsMaker.makeUnacceptableOperationPacket("There is no gold left!"));

}
项目:MMORPG_Prototype    文件:CharacterBoardClickPacketHandler.java   
private void clientBoardClickProperHandle(Connection connection, GameObject target, PlayerCharacter source)
{
    // TODO: refactor, implement collicion detection on clent side, so he 
    // can tell what he wants to do directly
    if (target instanceof ShopNpc)
        sendShopItemsInfo(connection, (ShopNpc) target);
    else if (target instanceof QuestDialogNpc)
        propagateQuestDialogEvent((QuestDialogNpc) target, source);
    else if (target instanceof Monster)
        tryToTargetMonster(connection, (Monster) target, source);
    else if (target instanceof QuestBoard)
        sendQuestBoardInfo(connection, (QuestBoard) target);
    else if (target.getClass().getSimpleName().contains("NullGameObject"))
        ;//ignore
    else
        throw new NotImplementedException("Not implemented");

}
项目:MMORPG_Prototype    文件:ItemUsagePacketHandler.java   
@Override
public void handle(Connection connection, ItemUsagePacket packet)
{
    int characterId = gameData.getCharacterIdByConnectionId(connection.getID());
    PlayerCharacter itemUser = (PlayerCharacter)playState.getObject(characterId);
    if(itemUser == null)
        throw new PlayerUsingItemNotFoundException();
    Monster target = (Monster)playState.getObject(packet.getTargetId());
    try
    {
        itemUser.useItem(packet.getItemId(), target, (PacketsSender)playState);
        connection.sendTCP(packet);
    }
    catch(OutOfStockException e)
    {
        connection.sendTCP(PacketsMaker.makeUnacceptableOperationPacket("Your item stack was depleted"));
    }
}
项目:MMORPG_Prototype    文件:TakingGoldFromContainerPacketHandler.java   
@Override 
public void handle(Connection connection, TakingGoldFromContainerPacket packet)
{
    long characterId = gameData.getCharacterIdByConnectionId(connection.getID());
    PlayerCharacter player = (PlayerCharacter)playState.getObject(characterId);
    GameContainer container = playState.getContainer(packet.getContainerId());
    int gold = container.getGoldAmount();
    if(gold > 0)
    {
        connection.sendTCP(PacketsMaker.makeGoldReceivePacket(gold));
        server.sendToAllTCP(PacketsMaker.makeContainerGoldRemovalPacket(packet.getContainerId(), gold));
        container.setGoldAmount(0);
        player.addGold(gold);
    }
    else
        connection.sendTCP(PacketsMaker.makeUnacceptableOperationPacket("There is no gold left in this container"));

}
项目:MMORPG_Prototype    文件:ScriptCodePacketHandler.java   
@Override
public void handle(Connection connection, ScriptCodePacket packet)
{
    User user = authenticatedClientsKeyClientId.get(connection.getID());
    if(!user.getRole().equals(UserRole.ADMIN))
    {
        connection.sendTCP(PacketsMaker.makeScriptExecutionErrorPacket("You must be admin to do that"));
        return;
    }

    try
    {
        Object result = playState.executeCode(packet.getCode(), user.getId());
        if(result != null)
            connection.sendTCP(PacketsMaker.makeScriptResultInfoPacket(result.toString()));

    }catch(ScriptException e)
    {
        connection.sendTCP(PacketsMaker.makeScriptExecutionErrorPacket(e.getMessage()));
    }
}
项目:MMORPG_Prototype    文件:ChatMessagePacketHandler.java   
@Override
public void handle(Connection connection, ChatMessagePacket packet)
{
    Field connectionsField = FieldUtils.getField(Server.class, "connections", true);

    Connection[] connections;
    try
    {
        connections = (Connection[])FieldUtils.readField(connectionsField, server, true);
    } catch (IllegalAccessException e)
    {
        throw new RuntimeException(e);
    }
    ChatMessageReplyPacket newPacket = new ChatMessageReplyPacket();
    Character sender = gameData.getUserCharacterByConnectionId(connection.getID());
    String nickname = sender.getNickname();
    newPacket.setMessage(packet.getMessage());
    newPacket.setNickname(nickname);
    Character character;
    for(Connection client : connections)        
        if((character = gameData.getUserCharacterByConnectionId(client.getID())) != null)
        {
            newPacket.setSourceCharacterId(character.getId());
            server.sendToTCP(client.getID(), newPacket);
        }
}
项目:MMORPG_Prototype    文件:UserCharacterDataPacketHandler.java   
private void userChoosenCharcter(int userCharacterId, Connection connection)
{
    Character character = characterRepo.findOneAndFetchEverythingRelated(userCharacterId);

    UserInfo info = loggedUsersKeyUserId.get(character.getUser().getId());
    info.userCharacter = character;
    int clientId = connection.getID();
    sendCurrentGameObjectsInfo(connection);
    PlayerCharacter newPlayer = new PlayerCharacter(character, playState, clientId);
    Collection<Item> playerItems = getPlayerItems(newPlayer);
    playerItems.forEach((item) -> newPlayer.addItemDenyStacking(item));
    playState.add(newPlayer);
    server.sendToAllExceptTCP(clientId, PacketsMaker.makeCreationPacket(newPlayer));
    sendItemsDataToClient(playerItems, connection);
    sendItemQuickAccessBarConfigToClient(character.getItemQuickAccessBarConfig().values(), connection);
    sendSpellQuickAccessBarConfigToClient(character.getSpellQuickAccessBarConfig().values(), connection);
    sendQuestInfoToClient(character.getQuests(), connection);
    sendAvailableSpellsToClient(character.getSpells(), connection);
}
项目:MMORPG_Prototype    文件:BuyFromShopPacketHandler.java   
@Override
public void handle(Connection connection, BuyFromShopPacket packet)
{
    ShopNpc shopNpc = (ShopNpc) playState.getObject(packet.getShopId());
    ShopItemWrapper itemWrapper = shopNpc.getItemWrapper(packet.getItemId());
    Character userCharacter = gameData.getUserCharacterByConnectionId(connection.getID());
    PlayerCharacter character = (PlayerCharacter) playState.getObject(userCharacter.getId());

    int itemCount = packet.getAmount();
    int singleItemPrice = itemWrapper.getPrice();
    int totalPrice = singleItemPrice * itemCount;
    int characterGold = character.getProperties().gold;
    if (totalPrice > characterGold)
        connection.sendTCP(PacketsMaker.makeUnacceptableOperationPacket("You don't have enough gold!"));
    else
    {
        handleGoldPart(connection, totalPrice, character);
        InventoryPosition position = new InventoryPosition(packet.getDesiredInventoryPage(),
                packet.getDesiredInventoryX(), packet.getDesiredInventoryY());
        handleItemPart(connection, itemWrapper, character, itemCount, position);
    }
}
项目:MMORPG_Prototype    文件:LogoutPacketHandler.java   
private void userLoggedOut(Connection connection)
{
    User user = authenticatedClientsKeyClientId.remove(connection.getID());
    Character userCharacter = loggedUsersKeyUserId.remove(user.getId()).userCharacter;
    if (userCharacter != null)
    {
        int characterId = userCharacter.getId();
        if (playState.has(characterId))
        {
            GameObject removedCharacter = playState.remove(characterId);
            new CharacterDatabaseSaver().save((PlayerCharacter)removedCharacter);
            server.sendToAllExceptTCP(connection.getID(), PacketsMaker.makeRemovalPacket(characterId));
        }
        playState.removeGameCommandsHandler(user.getId());
    }
}
项目:octoBubbles    文件:ClientController.java   
public ClientController(AbstractDiagramController pDiagramController, String pServerIp, int pPort) {
    diagramController = pDiagramController;
    serverIp = pServerIp;
    port = pPort;

    client = new Client();

    initKryo(client.getKryo());

    client.addListener(new Listener() {
        public void received (Connection connection, Object object) {
            if (object instanceof AbstractNode) {
                Platform.runLater(() -> diagramController.createNodeView((AbstractNode)object, true));
            } else if (object instanceof AbstractEdge) {
                Platform.runLater(() -> diagramController.addEdgeView((AbstractEdge)object, true));
            } else if (object instanceof Graph){
                Graph graph = (Graph) object;
                graph.addRemotePropertyChangeListener(ClientController.this);
                Platform.runLater(() -> diagramController.load(graph, true));
            } else if (object instanceof String[]){
                Platform.runLater(() -> diagramController.remoteCommand((String[])object));
            }
        }
    });
}
项目:javatrove    文件:ClientDisconnectCommandHandler.java   
@Override
public void handle(final Client client, Connection connection, Command command) {
    model.getClient().ifPresent(c -> {
        if (c == client) {
            model.getMessages().add("Server " + model.getServer() + ":" + model.getPort() + " is no longer available.");
            client.stop();
            try {
                client.dispose();
            } catch (IOException ignored) {
                // OK
            }
            model.setClient(null);
            model.setConnected(false);
            model.getMessages().clear();
        }
    });
}
项目:OmiClub    文件:ServerListener.java   
@Override
public void received(Connection connection, Object o) {
    if(!(o instanceof Message)){
        return;
    }
    Message msg = (Message) o;
    switch (msg.getMessageCode()){
        case MessageCodes.CLIENT_NAME:
            Client client = players.get(players.indexOf(new Client(connection.getID())));
            client.setName(((GeneralMessage)msg).getMessage());
            ++namesSet;
            if (serverIsFull && namesSet == MAX_CLIENTS){
                GameData.setPlayersReady(true);
            }
            break;
    }
}
项目:OmiClub    文件:ServerMessageHandler.java   
@Override
public void handle(Connection connection, Object object) {

    if(!(object instanceof Message)){
        return;
    }

    Message message = (Message) object;

    switch (message.getMessageCode()){
        case MessageCodes.CLIENT_NAME:
            GeneralMessage msg = (GeneralMessage) message;
            connection.setName(msg.getMessage());
            break;

    }
}
项目:OmiClub    文件:ClientMsgHandler.java   
@Override
public void handle(Connection connection, Object object) {

    if(!(object instanceof Message)){
        return;
    }

    Message message = (Message) object;

    switch (message.getMessageCode()){
        case MessageCodes.SERVER_FULL:
            ////////////////////////////
            break;

    }
}
项目:Battle-City-Multiplayer    文件:Server.java   
@Override
public void connected(Connection connection) {

    if (getWorld().isGameOver() ||
            (getWorld().getPlayers().size() >= 2 &&
            Parameters.restrictJoin)) {
        sendEventToPlayer(Event.ON_CONNECTION_REFUSED, -1, connection.
                getID());
        return;
    }

    final int playerID = connection.getID();
    ((ServerWorld) world).addPlayer(playerID);
    sendStateToPlayer(playerID);
    sendTileUpdateToPlayer(playerID);
    System.out.println("Client connected! ID# " + playerID);
}
项目:Battle-City-Multiplayer    文件:Client.java   
@Override
public void disconnected(Connection connection) {
    System.out.println("disconnected from server!");

    if (error == ErrorCode.NOREASON) {
        error = ErrorCode.SERVER_DISCONNECTED;

        Gdx.app.postRunnable(new Runnable() {
            @Override
            public void run() {
                GameScreen screen = new ScreenMainMenu();
                CoreBC.changeScreen(screen);
            }
        });
    }
}
项目:rpc-bench    文件:BenchServer.java   
@Override
public void received(final Connection connection, final Object object) {
  if (object instanceof Size) {
    final Size size = (Size) object;
    final long tod = size.tod;
    final int msgs = size.messages;
    final Price price = new Price();
    for (int i = 0; i < msgs; i++) {
      price.tod = tod;
      price.iid = i;
      price.bid = 2;
      price.ask = 3;
      price.trd = 4;
      price.vol = 5;
      while (!connection.isIdle()) {
        // busy spin waiting for space in buffer
      }
      connection.sendTCP(price);
    }
  }
}
项目:RavTech    文件:KryonetTransportLayer.java   
@Override
public void sendStreamTo (Object connectionInformation, InputStream stream, int size, String type,
    Object additionalInformation) {

    final int streamId = (int)(Math.random() * Integer.MAX_VALUE);

    Packet.StreamHeader streamHeader = new Packet.StreamHeader();
    streamHeader.additionalInfo = additionalInformation;
    streamHeader.streamId = streamId;
    streamHeader.type = type;
    streamHeader.streamLength = size;
    sendTo(connectionInformation, streamHeader, true);

    // Send data in 512 byte chunks.
    ((Connection)connectionInformation).addListener(new InputStreamSender(stream, 1024) {
        @Override
        protected Object next (byte[] bytes) {
            Packet.StreamChunk chunkPacket = new Packet.StreamChunk();
            chunkPacket.streamId = streamId;
            chunkPacket.chunkBytes = bytes;
            return chunkPacket;
        }
    });
}
项目:RavTech    文件:ClientListener.java   
@Override
public void received (Connection connection, final Object object) {
    if(!(object instanceof Packet))
        return;
    Packet packet = ((Packet)object);

    if (packet instanceof Packet.LobbyPacket) {
        if (packet instanceof Packet.SetLobbyData)
            layer.net.lobby.values.put(((Packet.SetLobbyData)packet).key, ((Packet.SetLobbyData)packet).value);
        if (packet instanceof Packet.DeleteLobbyData)
            layer.net.lobby.values.remove(((Packet.DeleteLobbyData)packet).key);
        return;
    }

    if (packet instanceof Packet.LoginAnswer) {
        layer.net.lobby.playerJoined(connection, "quexten");
        layer.net.lobby.ownId = ((Packet.LoginAnswer)packet).id;
        HookApi.postHooks(layer.net.lobby.onJoinedHooks, layer.net.lobby.getPlayerForConnection(connection));
    }

    if (layer.net.lobby != null)
        layer.recieve(packet);
}
项目:RavTech    文件:ServerListener.java   
@Override
public void received (final Connection connection, Object object) {
    if(!(object instanceof Packet))
        return;
    Packet packet = ((Packet)object);

    if (packet instanceof Packet.LoginRequest)
        if (layer.net.lobby.checkPassword(((Packet.LoginRequest)packet).password)) {
            Debug.logDebug(LOG_TAG, "Authentification of " + connection.getRemoteAddressTCP() + " successful as: "
                + ((Packet.LoginRequest)packet).username);

            trustedConnections.add(connection.getID());

            Packet.LoginAnswer answer = new Packet.LoginAnswer();
            answer.id = layer.net.lobby.players.size;
            layer.net.lobby.playerJoined(connection, ((Packet.LoginRequest)packet).username).send(answer, true);

            HookApi.postHooks(layer.net.lobby.onJoinedHooks, layer.net.lobby.getPlayerForConnection(connection));
        } else {
            Debug.log(LOG_TAG, "Authentification failed for " + connection.getRemoteAddressTCP());
            connection.close();
        }
    if (trustedConnections.contains(connection.getID()))
        layer.recieve(packet);
}
项目:killingspree    文件:WorldManager.java   
private void updateClientDetails(Connection connection, Object object) {
    int version = ((ClientDetailsMessage)object).protocolVersion;
    if (version != Constants.PROTOCOL_VERSION) {
        ServerStatusMessage message = new ServerStatusMessage();
        message.status = Status.DISCONNECT;
        if (version > Constants.PROTOCOL_VERSION) {
            message.toastText = "Please update server";
        } else if (version < Constants.PROTOCOL_VERSION) {
            message.toastText = "Please update client";
        }
        server.sendToTCP(connection.getID(), message);
        return;
    }

    playerList.get(connection.getID()).
    setName(((ClientDetailsMessage) object).name);
    PlayerNamesMessage players = new PlayerNamesMessage();
    for (ServerPlayer tempPlayer: playerList.values()) {
        players.players.put(tempPlayer.id, tempPlayer.getName());
    }
    if (server != null)
        server.sendToAllTCP(players);
    addOutgoingEvent(MessageObjectPool.instance.eventPool.obtain().
            set(State.RECEIVED, players));
}
项目:fellesprosjekt    文件:CreateEventController.java   
private void getInvited(int id) {
    RequestMessage message = new RequestMessage(RequestMessage.Command.INVITED_USERS_REQUEST, id);

    CalendarClient client = CalendarClient.getInstance();

    Listener getInvitedListener = new Listener() {
        public void received(Connection connection, Object object) {
            if (object instanceof ParticipantUserMessage) {
                ParticipantUserMessage complete = (ParticipantUserMessage) object;
                switch (complete.getCommand()) {
                    case RECEIVE_ALL:
                        setInvited(complete.getParticipantUsers());
                        break;
                    case SEND_ALL:
                        break;
                }
                client.removeListener(this);
            }
        }
    };
    client.addListener(getInvitedListener);
    client.sendMessage(message);
}
项目:CodeIT    文件:ServerController.java   
/**
 * forwards a message to apropriate handle method for that message
 * @param conn a connected client
 * @param m the Message with an attached object
 */
private void handleMessageWithObject(Connection conn, MessageWithObject m) {

    switch (m.message) {
        case NEW_TEAMNAME:
            handleNewTeamName(conn, (String) m.object);
            break;
        case TRANSFER_SOURCES:
            receiveSourceFromTeam(conn, m);
            break;
        case CHUNKED_TRANSFER:
            handleNewChunkedTransfer(conn, m);
            break;
        case CHUNK:
            handleChunk(conn, m);
            break;
        case TRANSFER_ERROR:
            handleTransferError(conn, m);
            break;
        default:
            log.info("Received unknown message from" + connectedTeams.get(conn));
    }
}
项目:killingspree    文件:StateProcessor.java   
@Override
public void received(Connection connection, Object object) {
    if (object instanceof GameStateMessage) {
        addNewState((GameStateMessage) object);
    } else if (object instanceof Short) {
        if(world.get(object) != null ) {
            world.get(object).destroy = true;
            //FIXME Set remove in the client entity
            if (!(world.get(object) instanceof ClientBomb))
                world.get(object).remove = true;
        }
    } else if (object instanceof AudioMessage) {
        audioPlayer.playAudioMessage((AudioMessage) object);
    } else if (object instanceof PlayerNamesMessage) {
        this.playerNames = (PlayerNamesMessage) object;
    } else if (object instanceof ServerStatusMessage) {
        ServerStatusMessage message = (ServerStatusMessage) object;
        toaster.toast(message.toastText);
        disconnected = true;
    } else if (object instanceof String) {
        toaster.toast((String) object);
    }
    super.received(connection, object);
}
项目:TinyTank    文件:NetworkController.java   
public boolean connect(NetworkServerConfig config) {
    try {
        this.client.connect(5000, config.getAddress(), config.getTcpPort(), config.getUdpPort());
        this.client.addListener(new Listener() {
            public void received(Connection connection, Object object) {
                if (object instanceof MessageModel) {
                    MessageModel response = (MessageModel) object;
                    masterTask.sendTask(TaskFactory.createTask(EnumTargetTask.MESSAGE_SERVER, EnumTargetTask.GAME, response));
                }
            }
        });
        this.masterTask.sendTask(TaskFactory.createTask(EnumTargetTask.MESSAGE_SERVER, EnumTargetTask.ACCOUNT, EnumWindow.INTERFACE));
        return true;
    } catch (IOException e) {
        System.err.println("ERROR: " + e.getMessage());
        e.printStackTrace();
        return false;
    }
}
项目:EsperDist    文件:ObjectSpace.java   
/** Returns the first object registered with the specified ID in any of the ObjectSpaces the specified connection belongs to. */
static Object getRegisteredObject (Connection connection, int objectID) {
    ObjectSpace[] instances = ObjectSpace.instances;
    for (int i = 0, n = instances.length; i < n; i++) {
        ObjectSpace objectSpace = instances[i];
        // Check if the connection is in this ObjectSpace.
        Connection[] connections = objectSpace.connections;
        for (int j = 0; j < connections.length; j++) {
            if (connections[j] != connection) continue;
            // Find an object with the objectID.
            Object object = objectSpace.idToObject.get(objectID);
            if (object != null) return object;
        }
    }
    return null;
}
项目:EsperDist    文件:ObjectSpace.java   
public void received (final Connection connection, Object object) {
    if (!(object instanceof InvokeMethod)) return;
    if (connections != null) {
        int i = 0, n = connections.length;
        for (; i < n; i++)
            if (connection == connections[i]) break;
        if (i == n) return; // The InvokeMethod message is not for a connection in this ObjectSpace.
    }
    final InvokeMethod invokeMethod = (InvokeMethod)object;
    final Object target = idToObject.get(invokeMethod.objectID);
    if (target == null) {
        if (WARN) warn("kryonet", "Ignoring remote invocation request for unknown object ID: " + invokeMethod.objectID);
        return;
    }
    if (executor == null)
        invoke(connection, target, invokeMethod);
    else {
        executor.execute(new Runnable() {
            public void run () {
                invoke(connection, target, invokeMethod);
            }
        });
    }
}
项目:fellesprosjekt    文件:CalendarController.java   
public void getEventsForPeriod(LocalDate from, LocalDate to, ObservableList<Event> observableEvents) {
    EventMessage eventMessage = new EventMessage(currentUser.getValue(), EventMessage.Command.SEND_EVENTS, from, to);
    CalendarClient client = CalendarClient.getInstance();

    Listener listener = new Listener() {
        public void received(Connection connection, Object object) {
            if (object instanceof EventMessage) {
                EventMessage message = (EventMessage) object;
                if (message.getCommand() == EventMessage.Command.RECEIVE_EVENTS) {
                    observableEvents.addAll(message.getEvents());
                    client.removeListener(this);
                }
            }
        }
    };

    client.addListener(listener);
    client.sendMessage(eventMessage);
}
项目:magic-realm    文件:ObjectSpace.java   
public void received (final Connection connection, Object object) {
    if (!(object instanceof InvokeMethod)) return;
    if (connections != null) {
        int i = 0, n = connections.length;
        for (; i < n; i++)
            if (connection == connections[i]) break;
        if (i == n) return; // The InvokeMethod message is not for a connection in this ObjectSpace.
    }
    final InvokeMethod invokeMethod = (InvokeMethod)object;
    final Object target = idToObject.get(invokeMethod.objectID);
    if (target == null) {
        if (WARN) warn("kryonet", "Ignoring remote invocation request for unknown object ID: " + invokeMethod.objectID);
        return;
    }
    if (executor == null)
        invoke(connection, target, invokeMethod);
    else {
        executor.execute(new Runnable() {
            public void run () {
                invoke(connection, target, invokeMethod);
            }
        });
    }
}
项目:magic-realm    文件:ObjectSpace.java   
/** Returns the first object registered with the specified ID in any of the ObjectSpaces the specified connection belongs to. */
static Object getRegisteredObject (Connection connection, int objectID) {
    ObjectSpace[] instances = ObjectSpace.instances;
    for (int i = 0, n = instances.length; i < n; i++) {
        ObjectSpace objectSpace = instances[i];
        // Check if the connection is in this ObjectSpace.
        Connection[] connections = objectSpace.connections;
        for (int j = 0; j < connections.length; j++) {
            if (connections[j] != connection) continue;
            // Find an object with the objectID.
            Object object = objectSpace.idToObject.get(objectID);
            if (object != null) return object;
        }
    }
    return null;
}
项目:MMO-Rulemasters-World    文件:PacketsInterpretator.java   
public boolean onPacketReceived(Connection connection, Object packet) {
    Iterator<Class> it = mPackets.keySet().iterator();

    while (it.hasNext()) {
        Class item = it.next();
        try {
            if (packet.getClass().isAssignableFrom(item)) {
                PacketAction a = mPackets.get(item);
                AccountConnection c = (AccountConnection)connection;
                if (!a.needLoggedIn() || (c.getToken() != null && c.getToken().length() > 0)) {
                    a.run(c, packet);
                } else {
                    ErrorPacket p = new ErrorPacket();
                    p.message = "You are not authenticated.";
                    p.status = ErrorType.NOT_AUTHENTICATED;
                    c.sendTCP(p);
                    c.close();
                }
                return true;
            }
        } catch (Exception e) {
            Log.error("PacketInterpretator", e);
        }
    }
    return false;
}