1 package com.badlogic.gdx.backends.lwjgl;
3 import java.io.InputStream;
4 import java.io.OutputStream;
5 import java.net.InetSocketAddress;
7 import com.badlogic.gdx.Net.Protocol;
8 import com.badlogic.gdx.net.ServerSocket;
9 import com.badlogic.gdx.net.ServerSocketHints;
10 import com.badlogic.gdx.net.Socket;
11 import com.badlogic.gdx.net.SocketHints;
12 import com.badlogic.gdx.utils.GdxRuntimeException;
15 * Server socket implementation using java.net.ServerSocket.
19 public class LwjglServerSocket implements ServerSocket {
21 private Protocol protocol;
23 /** Our server or null for disposed, aka closed. */
24 private java.net.ServerSocket server;
27 public LwjglServerSocket(Protocol protocol, int port, ServerSocketHints hints) {
28 this.protocol = protocol;
30 // create the server socket
33 server = new java.net.ServerSocket();
35 server.setPerformancePreferences(hints.performancePrefConnectionTime,
36 hints.performancePrefLatency,
37 hints.performancePrefBandwidth);
38 server.setReuseAddress(hints.reuseAddress);
39 server.setSoTimeout(hints.acceptTimeout);
40 server.setReceiveBufferSize(hints.receiveBufferSize);
43 // and bind the server...
44 InetSocketAddress address = new InetSocketAddress(port);
46 server.bind(address, hints.backlog);
53 throw new GdxRuntimeException("Cannot create a server socket at port " + port + ".", e);
58 public Protocol getProtocol () {
63 public Socket accept(SocketHints hints) {
65 return new LwjglSocket(server.accept(), hints);
68 throw new GdxRuntimeException("Error accepting socket.", e);
73 public void dispose() {
80 throw new GdxRuntimeException("Error closing server.", e);