List of usage examples for com.badlogic.gdx.net ServerSocket accept
public Socket accept(SocketHints hints);
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/* w ww.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.wotf.game.Networking.NetworkUtil.java
private void initHostNetworkListener() { ServerSocketHints serverSocketHint = new ServerSocketHints(); // This prevents the host from dropping out, when in production set it to an appropiate value serverSocketHint.acceptTimeout = 0;/*www .j a v a2s. c o m*/ // Create the socket server using TCP protocol and listening on 9021 ServerSocket serverSocket = Gdx.net.newServerSocket(Net.Protocol.TCP, Port, serverSocketHint); // Accept any incoming connections this.socket = serverSocket.accept(null); messageListener(true); }
From source file:us.notsoserio.ninja.network.server.MasterServer.java
License:Apache License
public MasterServer() { clientList = new ConcurrentHashMap<Integer, ConnectedClient>(); newMessages = new ConcurrentHashMap<Integer, String>(); receivedMessages = new ConcurrentHashMap<Integer, String>(); //Why 6969? Partially because I couldn't find an official use for this port, and partly because I'm 12 on the inside. new Thread(new Runnable() { @Override// w w w .jav a 2 s . c om public void run() { ServerSocketHints hints = new ServerSocketHints(); hints.acceptTimeout = 0; Gdx.app.log("Network", "Waiting for clients"); ServerSocket serverSocket = Gdx.net.newServerSocket(Protocol.TCP, 6969, hints); //noinspection InfiniteLoopStatement while (true) { ConnectedClient newClient = new ConnectedClient(serverSocket.accept(null)); clientList.put(newClient.hashCode(), newClient); Gdx.app.log("Network", "Client Connected from " + newClient.GetHost()); } } }).start(); new Thread(new Runnable() { @Override public void run() { Iterator clientIterator; Iterator messagesIterator; String[] messages; //noinspection InfiniteLoopStatement while (true) { clientIterator = clientList.values().iterator(); messagesIterator = newMessages.values().iterator(); messages = new String[newMessages.size()]; int counter = 0; while (messagesIterator.hasNext()) { messages[counter++] = (String) messagesIterator.next(); } newMessages.clear(); AddMessage("0"); while (clientIterator.hasNext()) { ConnectedClient client = (ConnectedClient) clientIterator.next(); String[] received = null; if (client.isActive()) { received = client.ProcessMessages(messages); } else { clientIterator.remove(); } if (received != null) { for (int i = 0; i < received.length; i++) { receivedMessages.put(received[i].hashCode(), received[i]); Gdx.app.log("test", received[i]); } } } } } }).start(); }