CTR Pia  4.11.3
Game Communication Engine
PiaSession Sample Demo

Location

$CTRPIA_ROOT/sampledemos/session

Building the Program

Go to the $CTRPIA_ROOT/sampledemos/session directory and execute as follows.

% omake

The executable (.cci) file is generated in:

$CTRPIA_ROOT/sampledemos/session/(sample demo name)/images/(platform name)/(target name)/

As an example, the files are generated in the following folder:

$CTRPIA_ROOT/sampledemos/session/RandomMatchmake/images/CTR-TS.Process.MPCore.fast/Release/

Description

session/RandomMatchmake Sample Demo This demo performs random matchmaking as a simple example of using nn::pia::session::Session.
Advanced Session Sample Demo This demo performs random matchmaking, browse matchmaking, and friend join-in matchmaking using nn::pia::session::Session.
session/Mesh Sample Demo This demo illustrates the usage of the nn::pia::session::Mesh class.
It uses the host migration feature, station identification tokens, and the relay communication feature.

Revision History

2014-08-12
Deleted the page on the session/JointSession sample demo because the demo itself was removed.
2014-04-03
Added pages for session/RandomMatchmake Sample Demo, Advanced Session Sample Demo, the session/JointSession sample demo, and session/Mesh Sample Demo in keeping with changes to the structure of the Session sample demo.
2013-05-24
The description of button operations used in each state has been changed to match changes made to MeshAdvanced.
2013-04-10
Added a feature for dynamically changing settings based on button operations to the state for selecting network topology settings in the MeshSimple demo.
2013-01-11
To get the signal strength and display it on the screen, change the states that trigger communication.
Added code that calls library development and testing functions in SampleFramework.
2012-12-27
During internet communication, the program was finalizing and reinitializing PiaInet when transitioning from a "communicating" state to a "matchmaking" state (while logged on to the game server). Reinitialization was not required in this situation, so the code was revised accordingly.
2012-11-27
Neither the MeshSimple demo nor the MeshAdvanced demo used the packet-signing feature of the PiaTransport class, but this demo was modified to use this feature because it is recommended to sign packets when going over insecure communication routes, such as the Internet.
2012-11-14
The demo now checks for profanity when getting the UserName of the UDS host.
2012-10-30
Previously, the TemporaryId was shown on the screen as the information about nearby networks discovered in the matchmaking state (local). Now the UserName of the UDS host is shown instead.
Changes have also been made so that information about the currently connected session (the UserName of the host for local communication and the GatheringID for Internet communication) appears on the screen.
2012-09-24
Added a command to go from communicating to the matchmaking state (while logged on to game server) when using Internet communication.
2012-08-10
Added version information for the Pia library to the screen display.
Added a frame counter to the screen display to make it easier to check updates to screen drawings.
2012-08-07
Added a feature that makes it possible to dynamically change the communication path in the communication mode option settings that were previously fixed settings during the build (in local communication: SAMPLE_SUB_ID; in Internet communication: MATCHMAKE_GAME_MODE) from within the communication route selection state using button operations.
Added a debug feature that displays information about the local device and the session host on the screen in the "communicating" state.
During Internet communication, there was a potential stack overflow in the search thread in the "find matchmaking session" state. The size of the stack was modified to fix this issue.
2012-08-06
Changed the heap for NEX in the MeshSimple and MeshAdvanced demos to ExpHeap only.
2012-07-13
A network disconnection process can now be performed in the nn::pia::local::UdsNode layer when local communication ends.
The Session::Cleanup function is now always called when communication ends, in consideration of the potential for a disconnection immediately after calling a function that leaves the session, such as nn::pia::session::Mesh::LeaveSession "Mesh::LeaveSession".
Changed the handling of failures in the nn::socket and nn::ac API functions when ending Internet communication.
Fixed an issue with search-thread control in the "find matchmaking session" state during Internet communication.
2012-07-05
Changed the call to Mesh::Startup in MeshAdvanced to provide an example of using an overload of the Mesh::Startup function that enables you to specify settings, such as the timeout period of the session participation process.
2012-07-03
Fixed the error handling in the nn::pia::session::Mesh::JoinSession "Mesh::JoinSession" function by adding a Result value returned when an asynchronous process fails.
2012-06-27
Changed the operations in MeshAdvanced so that when Internet communication ends, stations just leave the matchmaking session instead of deleting it, even if you are the session owner.
2012-06-26
Changed functionality so that when there is an unintentional network interruption during the communication state, the Mesh::Cleanup function is now called immediately.
2012-06-21
For functions that do not return errors beyond implementation mistakes, a change was made so that an assert results when checking the return value.
2012-06-07
Revised error handling and some of the comments.
2012-06-05
Initial version.