Package com.jme3.network
Interface Server
- All Known Implementing Classes:
DefaultServer
public interface Server
Represents a host that can send and receive messages to
a set of remote client connections.
-
Method Summary
Modifier and TypeMethodDescriptionint
addChannel
(int port) Adds an alternate channel to the server, using the specified port.void
addConnectionListener
(ConnectionListener listener) Adds a listener that will be notified when new hosted connections arrive.void
addMessageListener
(MessageListener<? super HostedConnection> listener) Adds a listener that will be notified when any message or object is received from one of the clients.void
addMessageListener
(MessageListener<? super HostedConnection> listener, Class... classes) Adds a listener that will be notified when messages of the specified types are received from one of the clients.void
broadcast
(int channel, Filter<? super HostedConnection> filter, Message message) Sends the specified message over the specified alternate channel to all connected clients that match the filter.void
broadcast
(Filter<? super HostedConnection> filter, Message message) Sends the specified message to all connected clients that match the filter.void
Sends the specified message to all connected clients.void
close()
Closes all client connections, stops and running processing threads, and closes the host connection.getConnection
(int id) Retrieves a hosted connection by ID.Retrieves a read-only collection of all currently connected connections.Returns the 'game name' for this server.Returns the manager for hosted services.int
Returns the game-specific version of this server used for detecting mismatched clients.boolean
Returns true if the server has active connections at the time of this call.boolean
Returns true if the server has been started.void
removeConnectionListener
(ConnectionListener listener) Removes a previously registered connection listener.void
removeMessageListener
(MessageListener<? super HostedConnection> listener) Removes a previously registered wildcard listener.void
removeMessageListener
(MessageListener<? super HostedConnection> listener, Class... classes) Removes a previously registered type-specific listener from the specified types.void
start()
Start the server so that it will begin accepting new connections and processing messages.
-
Method Details
-
getGameName
String getGameName()Returns the 'game name' for this server. This should match the 'game name' set on connecting clients or they will be turned away. -
getVersion
int getVersion()Returns the game-specific version of this server used for detecting mismatched clients. -
getServices
HostedServiceManager getServices()Returns the manager for hosted services. Hosted services extend the functionality of the server. -
broadcast
Sends the specified message to all connected clients. -
broadcast
Sends the specified message to all connected clients that match the filter. If no filter is specified then this is the same as calling broadcast(message) and the message will be delivered to all connections.Examples:
// Broadcast to connections: conn1, conn2, and conn3 server.broadcast( Filters.in( conn1, conn2, conn3 ), message ); // Broadcast to all connections exception source server.broadcast( Filters.notEqualTo( source ), message );
-
broadcast
Sends the specified message over the specified alternate channel to all connected clients that match the filter. If no filter is specified then this is the same as calling broadcast(message) and the message will be delivered to all connections.Examples:
// Broadcast to connections: conn1, conn2, and conn3 server.broadcast( Filters.in( conn1, conn2, conn3 ), message ); // Broadcast to all connections exception source server.broadcast( Filters.notEqualTo( source ), message );
-
start
void start()Start the server so that it will begin accepting new connections and processing messages. -
addChannel
int addChannel(int port) Adds an alternate channel to the server, using the specified port. This is an entirely separate connection where messages are sent and received in parallel to the two primary default channels. All channels must be added before the connection is started. Returns the ID of the created channel for use when specifying the channel in send or broadcast calls. The ID is returned entirely out of convenience since the IDs are predictably incremented. The first channel is 0, second is 1, and so on. -
isRunning
boolean isRunning()Returns true if the server has been started. -
close
void close()Closes all client connections, stops and running processing threads, and closes the host connection. -
getConnection
Retrieves a hosted connection by ID. -
getConnections
Collection<HostedConnection> getConnections()Retrieves a read-only collection of all currently connected connections. -
hasConnections
boolean hasConnections()Returns true if the server has active connections at the time of this call. -
addConnectionListener
Adds a listener that will be notified when new hosted connections arrive. -
removeConnectionListener
Removes a previously registered connection listener. -
addMessageListener
Adds a listener that will be notified when any message or object is received from one of the clients.Note about MessageListener multithreading: on the server, message events may be delivered by more than one thread depending on the server implementation used. Listener implementations should treat their shared data structures accordingly and set them up for multithreaded access. The only threading guarantee is that for a single HostedConnection, there will only ever be one thread at a time and the messages will always be delivered to that connection in the order that they were delivered. This is the only restriction placed upon server message dispatch pool implementations.
-
addMessageListener
Adds a listener that will be notified when messages of the specified types are received from one of the clients. -
removeMessageListener
Removes a previously registered wildcard listener. This does not remove this listener from any type-specific registrations. -
removeMessageListener
Removes a previously registered type-specific listener from the specified types.
-