| Constructor and Description |
|---|
Server()
Creates a Server with a write buffer size of 16384 and an object buffer size of 2048.
|
Server(int writeBufferSize,
int objectBufferSize) |
Server(int writeBufferSize,
int objectBufferSize,
Serialization serialization) |
| Modifier and Type | Method and Description |
|---|---|
void |
addListener(Listener listener)
If the listener already exists, it is not added again.
|
void |
bind(InetSocketAddress tcpPort,
InetSocketAddress udpPort) |
void |
bind(int tcpPort)
Opens a TCP only server.
|
void |
bind(int tcpPort,
int udpPort)
Opens a TCP and UDP server.
|
void |
close()
Closes all open connections and the server port(s).
|
void |
dispose()
Releases the resources used by this server, which may no longer be used.
|
Connection[] |
getConnections()
Returns the current connections.
|
com.esotericsoftware.kryo.Kryo |
getKryo()
Gets the Kryo instance that will be used to serialize and deserialize objects.
|
Serialization |
getSerialization()
Gets the serialization instance that will be used to serialize and deserialize objects.
|
Thread |
getUpdateThread()
Returns the last thread that called
EndPoint.update(int) for this end point. |
protected Connection |
newConnection()
Allows the connections used by the server to be subclassed.
|
void |
removeListener(Listener listener) |
void |
run()
Continually updates this end point until
EndPoint.stop() is called. |
void |
sendToAllExceptTCP(int connectionID,
Object object) |
void |
sendToAllExceptUDP(int connectionID,
Object object) |
void |
sendToAllTCP(Object object) |
void |
sendToAllUDP(Object object) |
void |
sendToTCP(int connectionID,
Object object) |
void |
sendToUDP(int connectionID,
Object object) |
void |
setDiscoveryHandler(ServerDiscoveryHandler newDiscoveryHandler) |
void |
start()
Starts a new thread that calls
EndPoint.run(). |
void |
stop()
Closes this end point and causes
EndPoint.run() to return. |
void |
update(int timeout)
Accepts any new connections and reads or writes any pending data for the current connections.
|
public Server()
public Server(int writeBufferSize,
int objectBufferSize)
writeBufferSize - One buffer of this size is allocated for each connected client. Objects are serialized to the write
buffer where the bytes are queued until they can be written to the TCP socket.
Normally the socket is writable and the bytes are written immediately. If the socket cannot be written to and enough serialized objects are queued to overflow the buffer, then the connection will be closed.
The write buffer should be sized at least as large as the largest object that will be sent, plus some head room to allow for some serialized objects to be queued in case the buffer is temporarily not writable. The amount of head room needed is dependent upon the size of objects being sent and how often they are sent.
objectBufferSize - One (using only TCP) or three (using both TCP and UDP) buffers of this size are allocated. These
buffers are used to hold the bytes for a single object graph until it can be sent over the network or
deserialized.
The object buffers should be sized at least as large as the largest object that will be sent or received.
public Server(int writeBufferSize,
int objectBufferSize,
Serialization serialization)
public void setDiscoveryHandler(ServerDiscoveryHandler newDiscoveryHandler)
public Serialization getSerialization()
EndPointgetSerialization in interface EndPointpublic com.esotericsoftware.kryo.Kryo getKryo()
EndPointKryoSerialization is being used, which is the default.public void bind(int tcpPort)
throws IOException
IOException - if the server could not be opened.public void bind(int tcpPort,
int udpPort)
throws IOException
IOException - if the server could not be opened.public void bind(InetSocketAddress tcpPort, InetSocketAddress udpPort) throws IOException
udpPort - May be null.IOExceptionpublic void update(int timeout)
throws IOException
update in interface EndPointtimeout - Wait for up to the specified milliseconds for a connection to be ready to process. May be zero to return
immediately if there are no connections to process.IOExceptionClient.update(int),
update(int)public void run()
EndPointEndPoint.stop() is called.public void start()
EndPointEndPoint.run().public void stop()
EndPointEndPoint.run() to return.protected Connection newConnection()
public void sendToAllTCP(Object object)
public void sendToAllExceptTCP(int connectionID,
Object object)
public void sendToTCP(int connectionID,
Object object)
public void sendToAllUDP(Object object)
public void sendToAllExceptUDP(int connectionID,
Object object)
public void sendToUDP(int connectionID,
Object object)
public void addListener(Listener listener)
EndPointaddListener in interface EndPointpublic void removeListener(Listener listener)
removeListener in interface EndPointpublic void close()
public void dispose()
throws IOException
IOExceptionpublic Thread getUpdateThread()
EndPointEndPoint.update(int) for this end point. This can be useful to detect when long running
code will be run on the update thread.getUpdateThread in interface EndPointpublic Connection[] getConnections()
Copyright © 2014. All Rights Reserved.