Example usage for com.badlogic.gdx.net SocketHints SocketHints

List of usage examples for com.badlogic.gdx.net SocketHints SocketHints

Introduction

In this page you can find the example usage for com.badlogic.gdx.net SocketHints SocketHints.

Prototype

SocketHints

Source Link

Usage

From source file:com.badlogic.gdx.tests.net.PingPongSocketExample.java

License:Apache License

@Override
public void create() {
    // setup a server thread where we wait for incoming connections
    // to the server
    new Thread(new Runnable() {
        @Override/*from www  .j  a v  a 2 s .c o  m*/
        public void run() {
            ServerSocketHints hints = new ServerSocketHints();
            ServerSocket server = Gdx.net.newServerSocket(Protocol.TCP, 9999, hints);
            // wait for the next client connection
            Socket client = server.accept(null);
            // read message and send it back
            try {
                String message = new BufferedReader(new InputStreamReader(client.getInputStream())).readLine();
                Gdx.app.log("PingPongSocketExample", "got client message: " + message);
                client.getOutputStream().write("PONG\n".getBytes());
            } catch (IOException e) {
                Gdx.app.log("PingPongSocketExample", "an error occured", e);
            }
        }
    }).start();

    // create the client send a message, then wait for the
    // server to reply
    SocketHints hints = new SocketHints();
    Socket client = Gdx.net.newClientSocket(Protocol.TCP, "localhost", 9999, hints);
    try {
        client.getOutputStream().write("PING\n".getBytes());
        String response = new BufferedReader(new InputStreamReader(client.getInputStream())).readLine();
        Gdx.app.log("PingPongSocketExample", "got server message: " + response);
    } catch (IOException e) {
        Gdx.app.log("PingPongSocketExample", "an error occured", e);
    }
}

From source file:com.vlaaad.dice.services.LocalMultiplayer.java

License:Open Source License

public void init() {
    if (initialized)
        return;/*from w  w w  . ja  v a2 s.c o m*/
    invitesWindow = new InvitesWindow();
    playersWindow = new InvitesWindow();
    initialized = true;
    try {
        socket = Gdx.net.newClientSocket(Net.Protocol.TCP, "localhost", 1337, new SocketHints());
    } catch (Exception e) {
        return;
    }

    new Thread(new Runnable() {
        @Override
        public void run() {
            final BufferedReader r = new BufferedReader(new InputStreamReader(socket.getInputStream()));
            while (true) {
                try {
                    final String msg = r.readLine();
                    Gdx.app.postRunnable(new Runnable() {
                        @Override
                        public void run() {
                            ClientServerMessage message = ClientServerMessage.json
                                    .fromJson(ClientServerMessage.class, msg);
                            receive(message);
                        }
                    });
                } catch (IOException ignored) {
                    System.out.println(ignored.getMessage());
                }
            }
        }
    }).start();
    sendToServer(ClientServerMessage.Type.loadPlayersToInvite);
    sendToServer(ClientServerMessage.Type.loadInvites);
}

From source file:com.wotf.game.Networking.NetworkUtil.java

private void initClientNetworkListener() {
    SocketHints socketHints = new SocketHints();
    this.socket = Gdx.net.newClientSocket(Net.Protocol.TCP, host.getIp(), Port, socketHints);
    //if(!scene.getGame().getGameSettings().getIsLocal())
    messageListener(false);//from   www .  ja  v  a  2s. c  om
}

From source file:us.notsoserio.ninja.network.client.Client.java

License:Apache License

public Client() {

    newMessages = new ConcurrentHashMap<Integer, String>();

    new Thread(new Runnable() {
        @Override//from   w  w w  . j  a v  a  2s.c  o  m
        public void run() {

            SocketHints hints = new SocketHints();
            hints.keepAlive = true;
            hints.connectTimeout = 5000;
            hints.performancePrefLatency = 1;
            server = new ConnectedServer(Gdx.net.newClientSocket(Net.Protocol.TCP, "127.0.0.1", 6969, hints));
            Gdx.app.log("Network", "Connected to server at " + server.GetHost());

            Iterator messagesIterator;
            String[] messages;
            while (true) {
                AddMessage("0");
                messagesIterator = newMessages.values().iterator();
                messages = new String[newMessages.size()];
                int counter = 0;
                while (messagesIterator.hasNext()) {
                    messages[counter++] = (String) messagesIterator.next();
                }
                newMessages.clear();
                if (server.isActive()) {
                    server.ProcessMessages(messages);
                } else {
                    Gdx.app.log("Network", "Server Disconnected");
                    break;
                }
            }
        }
    }).start();

}