The base class for a Photon application. The main method to override is CreatePeer. See Setup for initialization recommendations. More...
Public Member Functions | |
void | BroadCastEvent< TPeer > (IEventData eventData, IEnumerable< TPeer > peers, SendParameters sendParameters) |
Sends an event to a list of peers. This method serializes the data just once per protocol instead of once per peer. More... | |
bool | ConnectToServerTcp (IPEndPoint remoteEndPoint, string applicationName, object state) |
Establishes a TCP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails. More... | |
bool | ConnectToServerTcp (IPEndPoint remoteEndPoint, string applicationName, object state, IRpcProtocol protocol) |
Establishes a TCP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails. More... | |
bool | ConnectToServerMuxTcp (IPEndPoint remoteEndPoint, string applicationName, object state) |
Establishes a logical, multiplexed TCP connection between two Photon instances. Multiple logical connections are sharing a single physical connection. CreateServerPeer is called once a logical connection is established. OnServerConnectionFailed is called if the logical connection fails. If a phyiscal connection exists when ConnectToServerMuxTcp is called, it is used; otherwise a physical connection is established. If the physical connection is aborted, all logical connections are aborted as well. More... | |
bool | ConnectToServerUdp (IPEndPoint remoteEndPoint, string applicationName, object state, byte numChannels, short? mtu, Version clientVersion=null) |
Establishes an UDP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails. More... | |
bool | ConnectToServerWebSocketHixie76 (IPEndPoint remoteEndPoint, string applicationName, object state, string origin) |
Establishes an WebSocket connection between two Photon instances, using the Hixie76 WebSocket protocol. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails. More... | |
bool | ConnectToServerWebSocket (IPEndPoint remoteEndPoint, string applicationName, object state, WebSocketVersion webSocketVersion, IRpcProtocol protocol) |
Establishes an WebSocket connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails. More... | |
bool | ConnectToServerWebRTC (IPEndPoint remoteEndPoint, string applicationName, object state, IRpcProtocol protocol) |
bool | ConnectToServer (IPEndPoint remoteEndPoint, string applicationName, object state) |
This method overload is obsolete; use ConnectToServerTcp. More... | |
bool | ConnectToServer (IPEndPoint remoteEndPoint, bool useMux, string applicationName, object state) |
This method overload is obsolete; use ConnectToServerMuxTcp. More... | |
bool | ConnectToServer (IPEndPoint remoteEndPoint, string applicationName, object state, IRpcProtocol protocol) |
This method overload is obsolete; use ConnectToServerTcp. More... | |
bool | ConnectToServer (IPEndPoint remoteEndPoint, string applicationName, object state, byte numChannels, short? mtu, Version clientVersion=null) |
This method overload is obsolete; use ConnectToServerUdp. More... | |
void | BroadcastMessage< TPeer > (object message, IEnumerable< TPeer > peers, SendParameters sendParameters) |
string[] | ListenerList (out ListenerStatus[] status) |
bool | ListenerStart (string name) |
bool | ListenerStop (string name) |
bool | AddRestRequestHandler (string path, RestRequestHandler handler) |
bool | RemoveRestRequestHandler (string path) |
void | InitCorePerformanceCounters () |
void | OnWebRTCConnectionEstablished (IPhotonWebRTCPeer peer, byte maxChannelCount, uint flags) |
void | OnWebRTCChannelConnected (IPhotonWebRTCPeer peer, object userData, byte channelId, ChannelType ChannelType, bool unordered, ushort priority, uint reliability, string label, string protocol) |
virtual void | OnWebRTCChannelDestroyed (IPhotonWebRTCPeer peer, object userData, byte channelId) |
void | OnOutboundWebRTCConnectionEstablished (IPhotonWebRTCPeer peer, object userData, byte maxChannelCount, uint flags) |
void | OnOutboundWebRTCConnectionFailed (object userData, uint errorCode) |
IPhotonApplication | OnStart (string instanceName, string applicationName, IPhotonApplicationSink sink, IControlListeners listenerControl, ILogToUnmanagedLog unmanagedLog, IPhotonApplicationsCounter applicationsCounter, string unmanagedLogDirectory) |
Called when the application is started. This method calls Setup. More... | |
Static Public Member Functions | |
static T | GetConfigSectionAndValidate< T > (string path) |
Protected Member Functions | |
ApplicationBase (IConfiguration configuration) | |
Initializes a new instance of the ApplicationBase class. More... | |
abstract PeerBase | CreatePeer (InitRequest initRequest) |
This method is called by the IPhotonApplication.OnInit implementation of this class. The inheritor should return a PeerBase implementation. More... | |
virtual IFiber | CreatePeerFiber (InitRequest request) |
virtual object | DecryptAuthToken (InitRequest initRequest, byte[] authToken, int offset, int length, out Dictionary< byte, object > encryptionData, out string errorMsg) |
virtual void | OnServerConnectionFailed (int errorCode, string errorMessage, object state) |
Invoked if a connection attempt to a server fails. More... | |
virtual void | OnStopRequested () |
Called when photon stops application domain More... | |
abstract void | Setup () |
This method is called when the current application has been started. The inheritor can setup log4net here and execute other initialization routines here. More... | |
abstract void | TearDown () |
This method is called when the current application is being stopped. The inheritor can execute cleanup routines here. More... | |
Properties | |
IConfiguration | Configuration [get, protected set] |
Configuration loaded by descendants More... | |
static ApplicationBase | Instance [get] |
Gets the application instance. More... | |
string | ApplicationName [get] |
Gets the application name set in PhotonServer.config. More... | |
string | ApplicationPath [get] |
Gets the application path set in PhotonServer.config. More... | |
string | ApplicationRootPath [get] |
Gets the path of the application root path - base location of all applications. More... | |
string | BinaryPath [get] |
Gets the path of the application binaries. More... | |
int | PeerCount [get] |
Gets the number of peers currently connected to the application. More... | |
string | PhotonInstanceName [get] |
Gets the name of the photon instance. More... | |
bool | Running [get] |
Gets a value indicating whether the application is running (the time between Setup and OnStopRequested). More... | |
string | HwId [get] |
string | UnmanagedLogPath [get] |
Gets the log path of Photon. More... | |
Version | CoreVersion [get] |
Gets Photon Native Core version (PhotonSocketServer.exe). More... | |
Version | SdkVersion [get] |
Gets Photon Managed Core version (SDK). More... | |
int | EncrptionQueueLimit [get, set] |
bool | UseEncryptionQueue [get, set] |
The base class for a Photon application. The main method to override is CreatePeer. See Setup for initialization recommendations.
|
inlineprotected |
Initializes a new instance of the ApplicationBase class.
|
inline |
|
inline |
Sends an event to a list of peers. This method serializes the data just once per protocol instead of once per peer.
TPeer | A PeerBase subclass type. |
eventData | The event to send. |
peers | The peers to send the event to. |
sendParameters | The send options. |
TPeer | : | PeerBase |
|
inline |
TPeer | : | PeerBase |
|
inline |
This method overload is obsolete; use ConnectToServerMuxTcp.
|
inline |
This method overload is obsolete; use ConnectToServerTcp.
|
inline |
This method overload is obsolete; use ConnectToServerUdp.
|
inline |
This method overload is obsolete; use ConnectToServerTcp.
|
inline |
Establishes a logical, multiplexed TCP connection between two Photon instances. Multiple logical connections are sharing a single physical connection. CreateServerPeer is called once a logical connection is established. OnServerConnectionFailed is called if the logical connection fails. If a phyiscal connection exists when ConnectToServerMuxTcp is called, it is used; otherwise a physical connection is established. If the physical connection is aborted, all logical connections are aborted as well.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
|
inline |
Establishes a TCP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
|
inline |
Establishes a TCP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
protocol | The IRpcProtocol used to serialze message data./> |
|
inline |
Establishes an UDP connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
numChannels | The number of channels used by the connection. Channels are prioritized (the lower the channel number, the higher the priority) |
mtu | Maximum transfer unit - specifies the max data size of each UDP package (in bytes). Bigger packages will be fragmented. The default value is 1200. |
|
inline |
|
inline |
Establishes an WebSocket connection between two Photon instances. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
webSocketVersion | The websocket protocol version (currently supported: RF6455 and HyBi10) |
protocol | The protocol to serialize the message data. |
|
inline |
Establishes an WebSocket connection between two Photon instances, using the Hixie76 WebSocket protocol. CreateServerPeer is called once the connection is established. OnServerConnectionFailed is called if the connection fails.
remoteEndPoint | The remote endpoint to connect to. |
applicationName | The application name to connect to. |
state | A state object that is returned with the callback. |
origin | The origin of the request. |
|
protectedpure virtual |
This method is called by the IPhotonApplication.OnInit implementation of this class. The inheritor should return a PeerBase implementation.
initRequest | The initialization request. |
Implemented in Photon.LoadBalancing.GameServer.GameApplication, Photon.LoadBalancing.MasterServer.MasterApplication, Photon.NameServer.PhotonApp, and Photon.Hive.HiveApplication.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
|
inlinestatic |
T | : | new |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedvirtual |
Invoked if a connection attempt to a server fails.
errorCode | The error code. |
errorMessage | The error message. |
state | The state. |
|
inline |
Called when the application is started. This method calls Setup.
instanceName | The name of the instance. |
applicationName | Name of the application. |
sink | The sink. |
listenerControl | The photon listener controller |
unmanagedLog |
applicationsCounter | An IPhotonApplicationsCounter instance used to read photon socket server unmanaged counters. |
unmanagedLogDirectory | The log path of Photon. |
|
inlineprotectedvirtual |
Called when photon stops application domain
Reimplemented in Photon.LoadBalancing.GameServer.GameApplication, and Photon.LoadBalancing.MasterServer.MasterApplication.
|
inline |
|
inlinevirtual |
|
inline |
|
inline |
|
protectedpure virtual |
This method is called when the current application has been started. The inheritor can setup log4net here and execute other initialization routines here.
log4net initialization:
Implemented in Photon.LoadBalancing.GameServer.GameApplication, Photon.LoadBalancing.MasterServer.MasterApplication, Photon.NameServer.PhotonApp, and Photon.Hive.HiveApplication.
|
protectedpure virtual |
This method is called when the current application is being stopped. The inheritor can execute cleanup routines here.
Implemented in Photon.LoadBalancing.GameServer.GameApplication, Photon.LoadBalancing.MasterServer.MasterApplication, Photon.NameServer.PhotonApp, and Photon.Hive.HiveApplication.
|
get |
Gets the application name set in PhotonServer.config.
|
get |
Gets the application path set in PhotonServer.config.
|
get |
Gets the path of the application root path - base location of all applications.
|
get |
Gets the path of the application binaries.
|
getprotected set |
Configuration loaded by descendants
|
get |
Gets Photon Native Core version (PhotonSocketServer.exe).
|
getset |
|
get |
|
staticget |
Gets the application instance.
|
get |
Gets the number of peers currently connected to the application.
The peer count.
|
get |
Gets the name of the photon instance.
|
get |
Gets a value indicating whether the application is running (the time between Setup and OnStopRequested).
|
get |
Gets Photon Managed Core version (SDK).
|
get |
Gets the log path of Photon.
|
getset |