The Introduction of ProudNet
Part I.
Before you start
1.
System Structure of ProudNet
2.
Understanding Host ID
3.
Protocol type of ProudNet
4.
Remote Method Invocation
5.
Overview of Communication between client and server
6.
Overview of peer-to-peer communication between clients
7.
Encrypted communication
8.
Message compressing function
9.
Understanding client main loop
10.
Understanding server main loop
Part II.
ProudNet The Basics
11.
Setting up Visual Studio C++ project
12.
Project setting at Mac Xcode and notes for setting
13.
Project setting in Unity3D
14.
Project setting at Marmalade
15.
Using on Linux
16.
Things you need to be careful about when creating a project in Unicode.
17.
Starting a server
18.
How to handle events
19.
How to start receiving client connection
20.
Connecting to server from client
21.
Usage of Remote Method Invocation
22.
P2P Group
23.
Communication between hosts
24.
Disconnecting from server
25.
Managing Timer loop, RMI and event from client
26.
Managing Timer loop, RMI, Event from server
27.
Error handling
28.
Server & Client Communication
29.
P2P Communication
Part III.
ProudNet Tutorial
30.
Setting the working environment
31.
Setting the project
32.
Making a main loop of a server
33.
Start a client
34.
Making a P2P group
35.
Preparing for communication among hosts
36.
Exchange RMI among hosts
37.
Disconnect a server from the client
Part IV.
Advanced usage of ProudNet
38.
Using include or import statement in PIDL contents.
39.
Marshaling PIDL parameter type
40.
Assigning IDs to the each RMI functions.
41.
Maintaining the past send-receive operation method
42.
Message Object(Proud.CMessage)
43.
Gaining various information from server
44.
Gaining various information from client
45.
Earning hole-punched address of client
46.
Encrypting a communication message
47.
Compressing communication message
48.
Traffic auto-control function (Throttling)
49.
JIT(Just-in-time) P2P Connection
50.
Routed multicasting several clients from server
51.
Gaining latency (ping time) between hosts
52.
Gaining server time from client
53.
Approaching the moment of every RMI call
54.
Speed-hack Detection
55.
How to include a server as a peer - to - peer group member
56.
Using ProudNet with other languages than C++
57.
User-defined data(Tag) for each host
58.
P2P Networking for Super Peer (Super Peer or host)
59.
Client log in emergency case
60.
Share Thread Pool that has same host module in a server.
61.
Using the connection maintaining function
62.
networker thread
63.
Executing the user's routine asynchronously.
Part V.
Synchronizing character position
Part VI.
Technical Notes
64.
Characteristic of ProudNet communication function
65.
Communication protocol that ProudNet uses
66.
Setting firewall from server
67.
Setup when there are several LAN cards (NIC) are attached.
68.
Setup for server on router or L4 switch.
69.
ProudNet Tips for performance enhancement
70.
Limiting the size of communication message
71.
Imitating bad network condition
72.
Not using P2P direct communication or UDP communication with server
73.
Communication between servers
74.
Troubleshooting document or Frequently Asked Question (FAQ)
75.
Communicating with a separated UDP socket based on ProudNet hole-punched information without using ProudNet.
76.
Using ProudNet from DLL project
77.
Controlling event or transmission operation (callback)
78.
TCP delayed transmitting function and Nagle algorism
79.
The range of message for RMI
80.
Warning function for traffic overload
81.
Factor property of RMI method
82.
How to use/attach ProudNet to a game server based on WAS.
83.
IPv6 Guide
84.
Conversion of Unicode and Multibyte
85.
Sending a message
Part VII.
ProudDB: Database System
86.
ProudNet Database Cache System version 2
87.
ADO Wrapper API
88.
SimpleDB2 example
89.
ProudDB API reference
90.
Database Terminology
Part VIII.
[For version 1.6 only]LAN communication between servers
91.
Features of LAN communication
92.
The usage of LAN communication
93.
LAN P2P communication
94.
Thread pool in LAN
95.
Management disconnecting LAN client
96.
LAN communication RMI
97.
Time synchronization during server communication
98.
Migration form ProudNet 1.6 to 1.7
Part IX.
Tutorial for Real-time Multi-play Social Game Development
Part X.
MiniDump (Error Dump System)
99.
Error Dump System Construction
100.
Utilization of Error Dump System
Part XI.
NTService
Part XII.
Utility Programs of ProudNet
101.
Using collection
102.
Fast memory manager
103.
Smart Pointer
104.
Thread Utility
105.
String Class
106.
Timer Queue (A module that operates tick event from thread pool)
107.
Making a log
108.
Data Quantization
109.
Utility API Reference
110.
PIDL Compiler Addon
Part XIII.
Samples
111.
Simple Sample Program
112.
C/S or P2P Chatting
113.
Character synchronization in 3D world
114.
SimpleDB2 Sample
115.
ADO Wrapper Sample
116.
Sample code for Distributed Lobby System
117.
Tutorial for Error Dump System Construction
118.
Windows Service (daemon) sample code
119.
Sample code of marshaling custom type object
120.
Sample codes of using ProudNet in C#
121.
Sample movie
Part XIV.
Nettention Technical Support
Part XV.
How to licensing my ProudNet
Part XVI.
Integration of Unreal Engine4 and ProudNet
122.
Integrating ProudNet into Unreal Engine 4 Project
Part XVII.
Using ProudNet 1 Amazon Machine Image
123.
How to use ProudNet1 AMI
Terminology