3.4 to 4.0 Upgrade Guide
Overview of Major Changes
The main breaking change between 3.4 and 4.0 is the introduction of new peer classes.
In Photon 3, there were two different classes of peers:
PeerBase
: base class for any inbound connection with a Photon client.ServerPeerBase
: base class for any connection with a Photon server.
In Photon 4, those two classes should be replaced by their appropriate new substitute:
ClientPeer
: replacesPeerBase
.S2SPeerBase
: base server-to-server class that replacesServerPeerBase
.InboundS2SPeer
: should replaceServerPeerBase
on the server accepting incoming connections.OutboundS2SPeer
: should replaceServerPeerBase
on the server actively initiating connections.
InboundS2SPeer
vs. OutboundS2SPeer
To better handle disconnections and edge cases, base S2S class is split into two classes.
Photon Server A --> Photon Server B
In Server A, the recommended way is to use
OutboundS2SPeer
.
Server A actively initializes the connection.
In Photon 3, to setup outgoing connections the method used was one of theApplicationBase.ConnectXXX
family.
Although this is still possible in v4, we do recommend switching to the newOutboundS2SPeer.ConnectXXX
.
In fact, you no longer need to override theApplicationBase.CreateServerPeer
method.
You can read more about S2S code in v4 in this update introduction here.In Server B you should use
InboundS2SPeer
Server B, listens and waits for incoming connection from Server A.
That is why inInoundS2SBase
the constructor hasInitResponse
parameter.
Photon v3 | Photon v4 | Type of peer |
---|---|---|
PeerBase |
ClientPeer |
Any class that should communicate with a client on the other endpoint should extend from ClientPeer . |
ServerPeerBase |
InboundS2SPeer |
Any class that should setup an inbound connection with another Photon server should extend from InboundS2SPeer |
ServerPeerBase |
OutboundS2SPeer |
The new and recommended way is to extend OutboundS2SPeer when creating a class that should setup an outbound connection with another Photon server. |
ServerPeerBase |
S2SPeerBase |
The old way of creating a class that should setup an outbound connection with another Photon server is to extend S2SPeerBase . |
License Updates and Upgrades
When upgrading to a new major version of the Photon SDK or when using an older SDK version with a newly purchased license file, you should make sure ahead of time before going into production, that your Photon SDK runs with that license.
The easiest way to do this is to put the license file in question into the Photon SDK folder you plan to use and start Photon via the Photon Control application.
You should then check the license information shown in the tray app and additionally check the logs for licensing errors.