This page has been archived and is no longer updated.

We do not supply this product anymore.

Spike-Engine

Develop real-time networking apps for mobile and web.

Published by Misakai
Distributed by ComponentSource since 2014

About Spike-Engine

Develop real-time networking apps for mobile and web.

Spike-Engine lets you build fast and robust real-time web services, connected to clients accross any platform. Spike-Engine is a software platform that facilitates building client-server applications for .NET developers. In particular, it focuses on real-time and duplex communication, performance and productivity. Spike Engine automatically generates glue code for various client platforms, which allows you to have extremely optimised code running on the clients you build.

Spike-Engine is a software platform that facilitates building client-server applications for .NET developers. In particular, it focuses on real-time and duplex communication, performance and productivity.

Core Pillars of Spike-Engine
The core idea behind Spike-Engine is quite simple. There are 3 core principles underpinning the architecture, duplex communication, performance and code generation.

  • Duplex Communication - This simply means that client and the server can both initiate the communication and exchange messages easily, at any time (unlike HTTP).
  • Performance - Technology needs to be performant and be able to handle thousands of clients, and hundreds of thousands of packets per second.
  • Code Generation - Stay productive while building high quality, heteregeneous software. Spike-Engine was designed to help developers by automatically generating most of the networking code, while they can concentrate on actually implementing the business logic.

Spike-Engine Features

One server, any client
Code generators that allow you to create client SDKs. Spike Engine automatically generates glue code for various client platforms, which allows you to have extremely optimised code running on the clients you build.

  • HTML5
  • Flash
  • C# / .NET
  • Java
  • Unity 3D
  • Android
  • Windows Phone
  • Windows Store

Enhanced Productivity

  • Protocol Semantics - Spike Protocol Markup Language (SPML) is an XML variant that allows the developper to easily write SECP protocols. Spike Engine uses SPML to automatically generate client/server proxies for custom protocols.
  • Visual Studio - In order to take full advantage of the code-generation platform Spike Engine offers extensions for Visual Studio which can automatically generate code while you're writing SPML definition.
  • Copy/Paste Deployment - Spike Engine runtime is a single .NET Assembly (one .dll), with no dependancies except a few Mono-compatible .Net Framework assemblies. No laborous deployment, no headaches. Just copy paste the server and it will be up and running.
  • Modern Browsers - The Spike-Engine JavaScript client software development kit supports various browsers and removes the complexity of the transport implementation.
  • Self-Monitoring - The runtime integrates a monitoring system that allows the programmer to access it via a self-hosted webpage and monitor how the server is performing.
  • Ready for Games - Building multiplayer games is difficult and time consuming. Spike Engine was designed for hundreds of thousands of packets per second.

Robust Networking

  • Fast I/O - Misakai put a lot of effort in networking performance, making it extremely fast. Spike Engine uses vectored, or scatter-gather I/O, combined with async I/O to ensure great networking performance.
  • Real-Time Compression - Spike Engine uses LZF compression algorithm to transparently compress/uncompress packets on the fly. Very fast compression speeds, rivaling a straight copy loop, especially for decompression which is basically at (unoptimized) memcpy-speed.
  • Intelligent Memory Management - In order to increase performance and minimize memory fragmentation, Spike Engine uses memory pools to pool virtually every object it uses internally. That results in a great performance and low CPU usage.
  • HTTP(S) Support - Misakai built-in a http layer that can process HTTP 1.1 requests. If you need to build your own proxy server or host a small website, you can do it.
  • WebSockets - Spike Engine supports HTML5 WebSockets implementation and allows you to build high-performance, connected networking apps for the web.
  • Linux, Mac or Windows - Spike Engine server runtime is compatible and has been tested with Mono. That means, you can deploy the server to any platform which is supported by Mono: Windows, Linux, Mac OSX and more.

Security & Extensibility

  • Transport Layer Security - Misakai believe that your communication should stay private. Spike Engine fully supports Transport Layer Security (TLS) and its predecessor, Secure Socket Layer (SSL).
  • Security & Authentication - Spike Engine integrates a simple, yet fully extendable security model which allows it to check whether a particular endpoint can execute a particular operation on the server.
  • Firewall - Spike Engine provides an integrated firewall allowing the administrators to set-up various security rules either via a web status page, config file or dynamically through the API.
  • Elegant Design - The runtime itself is simply one .Net Assembly (.dll). It does not bind you to a particular container, meaning you can embed it to existing applications, run it in a console, as a separate service or anything you want.
  • Heterogeneous Listener - Misakai have designed Spike Engine to automatically route from a single port various protocols such as HTTP, TLS, SECP, WebSockets. This makes the server extremely flexible and simplifies the network administrator's job.
  • Flexible Provider Model - Spike Engine embeds an inversion of control container (IoC) and uses it to enhance the extensibility of the runtime. Don't like how the security model was initially implemented or want to use Active Directory or LDAP to fetch the users? You can provide the implementation you need.