ESFramework is a cross-platform communication framework that delivers performance, reliability, and ease of use , supporting application server clustering. It has built-in message transceiving and custom processing (supports synchronous/asynchronous model), message broadcast, P2P channel, file transfer (supports breakpoint retransmission), heartbeat detection, disconnection reconnection, login verification, online user management, friends With group management, performance diagnosis and other functions. Based on ESFramework, you can quickly and easily develop a variety of excellent network communication applications. In addition, our rich experience accumulated in the long-term practice will become your strong technical support, from development to on-line to follow-up operation and maintenance, the whole process will protect you, so that you can rest easy.
The underlying ESFramework uses the IOCP model to maximize data throughput and processing. Currently mainstream servers (such as Xeon’s 4-core dual CPU and 4-8G memory) can easily handle 10,000 simultaneous online connections and process more than 50,000 requests per second. Of course, the concurrency that can ultimately be achieved depends on the business logic of the specific application. If the business logic is complex and the processing of a single request consumes a relatively high CPU and memory, then the number of concurrency will decrease. Our business logic code, or use more servers to share the load (such as migration to ESPlatform). More on ESFramework performance testing can be found in the ESFramework 4.0 performance test .
2. Reliable and stable
ESFramework started in 2004, and has been continuously improved and optimized from version 0.1 to today’s 4.x version. It has been 10+ years, its kernel (ESFramework.dll) is quite mature and stable, and all the discovered kernel bugs have been solved. And since 2009, no new kernel bugs have been discovered. In addition, ESFramework only uses the necessary resources (such as CPU, memory) when needed, and will release the resources held in time, there will be no memory leaks and so on. If your business logic code has no bugs, then the ESFramework-based server will run normally for one year without restarting.
Cross-platform is one of the key goals of ESFramework, and ESFramework does this by providing a multi-platform client engine. Clients on different platforms developed based on ESFramework can communicate with each other, so heterogeneous environments will become transparent.
4. Powerful and powerful
Most of the existing communication frameworks only solve the problem of the communication layer, and almost all of them are partially solved. ESFramework not only completely solves the requirements of the communication layer, but also solves the important problems of the application layer that are of most concern in communication systems, which makes the development of distributed communication systems based on ESFramework faster and more efficient.
At the communication layer: ESFramework supports TCP/UDP, text protocol/binary protocol, server/client and any combination of them, and provides multiple communication engines for server developers and client developers.
At the application layer: ESFramework has built-in online user management, message interception, message synchronization call, reply asynchronous call, channel intelligent selection, client login verification, heartbeat detection, message priority, automatic reconnection of disconnection, automatic notification of online status change ( Friends and group friends), re-login mode selection, complete exception log, file transfer (support for breakpoint retransmission), group broadcast, information transmission with ACK mechanism, efficient binary serializer, and so on.
In security: ESFramework has built-in common security mechanisms to prevent malicious users from testing or attacking the server at the application layer. These mechanisms are: message format full authentication, message encryption, verifying unbound messages, binding connections, closing empty connections, and so on.
5. Reliable P2P
ESFramework provides P2P communication based on TCP and UDP (not only LAN, but also supports WAN P2P communication), and UDP-based P2P is enhanced to ensure that UDP-based P2P communication is as reliable as TCP. In distributed systems that require high-frequency communication between clients (such as IM systems), reliable P2P communication will save you huge bandwidth and server costs.
6. Highly scalable cluster platform
The ESPlatform platform supports Clusters for ESFramework-based applications with three of the most commonly used load balancing strategies. By simply modifying a few lines of code, an ESFramework-based application can be smoothly moved into the ESPlatform platform to implement a cluster of multiple application servers, thus coping with the growing huge concurrency. With the ESPlatform cluster, we can easily add/remove application server (AS) instance nodes dynamically at runtime.
7. Server performance diagnosis
The ESFramework framework has built-in performance tracking diagnostics on the server side. If the server built based on ESFramework encounters performance problems or some faults at runtime, you can enable diagnostics. ESFramework will automatically track the processing of each type of message, and then analyze the logs to find out the problem quickly. .
8. Wide range of applications
ESFramework can be used in any software system that requires distributed communication, and its clustering capabilities can also support systems with a large number of simultaneous online users. For example, instant messaging systems (IM), massively multiplayer online games (MMORPG), online web games (WebGame), file transfer systems (FTS), data acquisition systems (DGS), distributed OA systems, and the like.
9. Complete documentation and clear interface
All interfaces and APIs provided by ESFramework have a good coding style, which is exactly the same as the .NET Framework. We provide MSDN-style help files, Demo source code, and ESFramework development manual series for you to research and learn to use ESFramework for development.
10. Historical experience sharing
In the past 10+ years, we have developed a lot of network communication systems based on ESFramework, and also provided technical support and operation troubleshooting services for many customers. Therefore, we have accumulated rich experience in the following aspects: for example, the best development practice based on ESFramework , server performance bottleneck troubleshooting, server operation troubleshooting, performance optimization, and so on. If you are the first to develop based on ESFramework, then the experience we share will provide a stronger follow-up guarantee for your project to go online.
ESFramework, communication, server, performance, based, message, systems, application, online, platform, supports, development, layer, built, experience, support, processing, management, distributed, operation, ESFramework, communication, based, performance, server, systems, message, application, online, platform, supports, development, built, layer, support, experience, management, processing, client, easily