Brief introduction
The project is becoming more and more demanding, in order to meet the new requirements to start research raknet in the Android platform application, this is the first article, familiar with the raknet of the various functions and plugins.
Raknet is a C + + network library based on UDP network transport protocol that allows programmers to implement efficient network transport services in their own programs. It is usually used for games, but it can also be used for other projects.
Raknet is a game engine dedicated to network and network-related services. It includes not only network communication, but also game-level replication, patch escalation, nat penetration, and voice chat. Raknet can be used in any application and can communicate with any other system that uses raknet, whether they reside on the same computer, across a LAN, or across the Internet.
Characteristics
High performance (transmission of 25,000 messages per second)
Easy to use (online user manual, video tutorial (online technical support))
Cross-platform
Secure Transfer (automatic use of SHA1, AES128, SYN in code to avoid transmission being attacked with RSA)
Audio transmission (decoded with Speex encoding, 8-bit audio only requires 500 bytes of transmission per second)
Remote terminal (remote function call, remote management of your program, including program settings, password management and log management)
Directory servers (directory servers allow servers to enumerate the clients they need and connect with them.) )
AutoPatcher (patch system, which restricts clients from transmitting files to the server, in order to prevent some illegal users from transferring some illegal files to the server.) )
Object Overloading System
Network data compression (the Bitstream class allows compression vectors, matrices, four-tuple numbers and real numbers between 1 and 1.) )
Robust communication layer (can guarantee the transmission of information according to different channels)
Network Connection Category
1, end-to-end mode, 2, server/server mode.
Project
Raknet version has not been updated, this project uses the latest version of Raknet 4.081.
Vs
Eclipse
Android Raknet Project has been uploaded to Git, address: https://github.com/banketree/RakNet_Android
Project description
Name |
Describe |
Dll |
Raknet compiled under Windows platform as a dynamic library |
Libstatic |
Build raknet to Static library under Windows platform |
Janssonstatic |
JSON Library |
Miniupnpcstatic |
Support for UPnP network Gateway device libraries |
Bursttest |
Test send burst message sent to remote system |
Cloudtest |
Cloud Testing |
Comprehensivetest |
Comprehensive internal testing to record crashes or leaks. |
Crossconnectiontest |
Cross-connect tests if two instances are simultaneously connected to each other. |
Droppedconnectiontest |
Drop Line Test |
Fcm2host |
Test server transfer after maximum connection |
Fcm2hostsimultaneous |
Testing multiple servers at the same time with maximum connection transfer |
Fcm2verifiedjoinsimultaneous |
Testing multiple servers for simultaneous authentication |
Flowcontroltest |
Test flow control |
Loopbackperformancetest |
Performance testing, throughput performance and overhead for multiple instances. |
Messagesizetest |
Message size test |
Reliableorderedtest |
Test sends a large number of messages, in order of reliability. |
Replicatedlogin |
Recurring sign-in issues |
ServerClientTest2 |
Test connection with client/server topology |
Testdll |
Dynamic Call Test |
ThreadTest |
Testing for exceptions under multithreading |
Irrlichtdemo |
Game Demo Test |
Ogre3dinterpdemo |
Three-dimensional demonstration test, using Ogre 3D to display a popcorn instance using the client/server network with ReplicaManager3. |
AutopatcherClientGFx3 |
Automated Patch Testing |
Autopatcherclient |
Patch Client |
Autopatcherclient_selfscaling |
End of patch, safe exit test |
Autopatcherclientrestarter |
End of patch, restart test |
Autopatchermysqlrepository |
Patch server, implemented with MySQL database |
Autopatcherserver_mysql |
Patch server test, test its integrity |
Autopatcherpostgresqlrepository |
Patch Information and asynchronous database queries |
Autopatcherserver_postgresql |
Patch server test, test its integrity |
Autopatcherserver_selfscaling |
Load test |
Commandconsoleclient |
Command Console Client |
Commandconsoleserver |
Command Console Server |
Packetconsolelogger |
Console logs |
Lobby2clientgfx3 |
|
Roomsbrowsergfx3_raknet |
|
Lobby2client |
|
Lobby2server_pgsql |
PostgreSQL database for backup game data |
Roomsplugin |
|
Steamlobby |
|
Lobby3 |
|
Natcompleteclient |
Penetrate completion Client |
Natcompleteserver |
Penetrate to complete the service side |
Udpforwardertest |
UDP proxy |
Matrices |
|
Demo_bspcollision |
|
Sqliteclientlogger |
Database log |
Sqliteserverlogger |
Database log |
Sqlite3plugin |
Database plugin, using SQLite to wear a Web log file based on Sqlite3plugin |
Rakvoice |
Audio Transfer Plugin |
Rakvoicedsound |
Use Dsound to record and play sounds |
Rakvoicefmod |
Use Fmod to record and play sounds |
Bigpackettest |
Big Data Packet Testing |
Chat Example Client |
Chat client/server |
Chat Example Server |
Chat client/server |
Cloudclient |
Cloud Client |
Cloudserver |
Cloud Service Side |
Comprehensivepcgame |
|
Crashreporter |
Test/Demo Incident Reporting System |
Directorydeltatransfer |
Directory lists are passed between directories to send changes or missing files. As necessary, a simple patch system can be used for transmission levels, skins and so on. |
Encryption |
Encryption |
Filelisttransfer |
File transfer |
Fullyconnectedmesh |
A saturated connection that allows all peers to automatically connect to all other peers in one plug-in, choosing the oldest peer as the host. |
Lanserverdiscovery |
LAN Server Exploration |
MasterServer2 |
|
MessageFilter |
Message filtering |
Offlinemessagestest |
Offline Message Testing |
Packetloggertest |
Packet |
PHPDirectoryServer2 |
PHP directory server, from or to C + + on the page to enumerate the game list. |
Ping |
Test Ping |
Rackspaceconsole |
Managed API Console |
Readyevent |
Warm-up, a group of players in the sync system are ready to have a common identity, which is useful for launching the game in an end-to-end environment, or for rounds in a wheel-based game. |
Relayplugintest |
Transit plug-in test |
ReplicaManager3 |
Replication management, plug-ins that provide management for your own game objects and players for serialization, scoping, and creating and destroying objects |
Router2 |
Send a network message to a remote system that we do not have a direct connection to |
RPC3 |
Testing/demonstrating how to use the RPC3 plugin to invoke C and C + + functions using the local parameter list, using boost for more features |
RPC4 |
Test/Demonstrate how to use the RPC4 plug-in, call C functions, do not rely on additional systems or libraries |
SendEmail |
Send email |
Statisticshistorytest |
Statistical data |
Teammanager |
Demo a game lobby where users can switch between 3 teams |
Timestamping |
Time stamp |
Twowayauthentication |
Two-way authentication, you can verify a previously set password without transmitting the password. |
|
|
One of the Android Raknet series Project Introduction