Print E-mail
iAuxNET_small>> networking engine

It is one of the most advanced and multipurpose networking libraries available which utilizes communication over TCP and UDP transport layer protocols. The supported topology is universal and includes all possible types: client-server, only client, only server. iAuxNET is designed to be very universal and can be used as for development of MMO/FPS/Other games, so for all other network-aware applications.

 

TCP/UDP Multipurpose

iAuxNET is a multipurpose networking library with flexible API design that allows to develop application of any complexity. It provides low latency data communication and robust high-performance operations in application with thousands of active network connections. Is is possible to mix communication based on TCP and UDP sockets in a single application.

 

Versatile Topology

iAuxNET can be used either for server-side, client-side, or for both.

  

Raw Data & High Level Protocols

- Low-level raw network data processing:

 This type allows to build communication with any network application, e.g. making just client or server, or both. Developer deals with raw network data and has to build own high-level communication protocol.

- Communication through high-level protocols:

For a full client-server mode there are high-level protocols "Protocol V1/V2" which are optimized for either TCP or UDP sockets. These protocols provide extended functionality, such as: data integrity control using CRC7, data and packet headers encryption, reliability enhancement for UDP with time-stamp and packet ordering.

 

Protocol Layers & Chaining

iAuxNET API provides special mechanism to build a chain of protocol layers which can receive, intercept, and process network data packets, even with different priorities assigned. Application can use different data processors depending on current run-time conditions, for example when system resources became low.

 

IP Firewall

iAuxNET has built-in IP firewall protection for incoming connections which can be activated for a TCP or UDP network listener. Firewall is capable of controlling incoming broad and multi casted connections. It operates in 4 modes: Allow All, Deny All, Allow then Deny, Deny then Allow.

 

RPC (Remote Procedure Call)

There is a full support of remote calling of global C or class-based C++ procedures (RPC). RPC supports all primitive numeric types, single and multi-dimensional arrays of numeric or POD (structure/union) types. You can also inject your own serializing interface for more complex types which are used as function parameters. RPC core is not a global interface and can be hosted by a multiple protocol layers. Thanks to layers chaining functionality it is even possible to create chains of RPC layers managing own number of RPC callable functions.

 

Adaptive Performance

iAuxNET can be characterized by an extremely low latency of data processing, low CPU and memory usage on a thousands of active connections. It uses advanced back-end technologies, such as: IO Completion Ports (IOCP) for Windows platforms, Enhanced Poll (Epoll) for Linux, and Kernel Queue (KQueue) for MacOSX. Besides that, developer is able to downgrade the use of these advanced back-end technologies to a simple methods like Select or Poll.

 

Optimal Bandwidth

An advanced implementation of the data buffering allows to build network packets using any large data type without a need to worry about waste of network bandwidth. Due to packing techniques manual data size optimization is not required anymore!

 

Multicasting & Broadcasting

iAuxNET provides support for the multi and broad casting technologies. High-level built-in protocols "Protocol V1/V2" and layers can also be used for such communication model.

 

MMO Ready

iAuxNET SDK provides ready-made MMO examples for the server's topology including Logon, Realm, World servers. You can now jump into MMO server's design and test it right away! iAuxNET is capable of handling thousands of connections and before actual design of your software you can train your server model at little cost of time.

 

Mobile Platform

Mobile platforms are supported including Windows Mobile 6/6.5, iOS (iPhone/iPad/iPod) and Android.

 

Features

arrowCommunication protocols: TCP, UDP, multi-/broad- casting UDP.

arrowAddress families: IPv4, IPv6.

arrowHigh-level data communication protocols for TCP and UDP communication.

arrowBack-end: Select, Poll, KQueue, Epoll, IO Completion Ports (IOCP).

arrowRPC (Remote Procedure Call).

arrowBuilt-in cryptographic services:

- Hash generators: CRC32, CRC64, MD-5, SHA-1;

- Block ciphers: TwoFish, BlowFish, GOST 28147-89;

- Stream ciphers: Alleged RC4, OFB mode for block ciphers, CFB mode for block ciphers;

- Message Authentication Code: HMAC;

- Custom user algorithms are possible.

arrowProvides low-level interface for Poll, Epoll. iAuxNET Poll emulation is 2x faster than WSAPoll interface under Windows Vista, Epoll emulation uses IOCP under Windows platform. Epoll emulated interface allows to port native Linux applications which are based on Epollto Windows or MacOSX platforms.

arrowData compression: DEFLATE algorithm (LZ77/Huffman encoding), Integral types packing.

arrowSeamless operations between little- and big- endian machines.

arrowExtended functionality: address/host resolving, network interface resolving, dimensionless bit-masks, network optimized data types.

arrowMobile platform support.

arrowInterface language: C++ (C optional).

arrowCompiler/IDE support: Microsoft Visual Studio for C++, XCode, GCC 4.x (Windows/Linux/Mac).

arrowAdvanced API design with rich inline documentation.

arrowOS: Windows XP/Vista/7 (32/64 bit), Windows Mobile 6 (ARMv4), Windows Mobile 6.5.3 (ARMv5), Linux (32/64 bit), MacOSX 10.5+ (x86 32/64 bit, ppc), iOS (iPhone/iPad/iPod-Device/Emulator), Android (Device/Emulator)