High-performance TCP & UDP Communication Framework HP-Socket v3.2.2 officially released, high-performance tcp
HP-Socket is a set of common high-performance TCP/UDP Communication frameworks, including server components, client components, and Agent components. It is widely used in TCP/UDP communication systems in various application scenarios, provides C/C ++, C #, Delphi, E (easy language), Java, Python, and other programming language interfaces. HP-Socket fully encapsulates the communication layer, and applications do not have to pay attention to any details of the communication layer. HP-Socket provides an API Interface Based on The Event Notification model, it can be easily and efficiently integrated into new and old applications.
In order to allow users to easily and quickly learn and use HP-Socket and quickly master the design ideas and usage methods of the framework, a large number of Demo examples (such: PUSH model examples, PULL model examples, Performance Testing examples, and other programming language examples ). HP-Socket is currently running on Windows and will be supported across platforms in the future.
- HP-Socket is only responsible for receiving and sending byte streams and does not participate in Protocol parsing of applications.
- HP-Socket interacts with applications through interfaces and is completely decoupled. Any application that implements the HP-Socket interface specification can seamlessly integrate HP-Socket.
Ease of use
Ease of use is crucial to all general frameworks. If it is too difficult to use, it is better to write a new one. Therefore, the HP-Socket interface is designed very simple and unified.
HP-Socket completely encapsulates all the underlying communication details, and applications do not have to or cannot intervene in underlying communication operations. The communication Connection is abstracted as the Connection ID, which is the unique identifier of the Connection provided to the application to process different connections.
As the underlying general framework, HP-Socket performance is a key indicator and cannot be a bottleneck of the system. HP-Socket makes the following design decisions based on factors such as performance, Application Scenario, complexity, and ease of use:
- Client components:Based on the Event Select communication model, the communication operation is performed in a separate thread to avoid interference with the main thread or other threads. Each component object manages a Socket connection.
- Server components:Based on the IOCP communication model and combined with the cache pool and Private Heap technologies, it supports ultra-large-scale connections to achieve efficient memory management in high-concurrency scenarios.
- Agent components:For application scenarios such as proxy servers or transit servers, the server itself initiates large-scale connections to other servers as a client. An Agent component object can manage multiple Socket connections at the same time; the Agent and Server components adopt the same technical architecture and can be used as Agent servers or client components of intermediate servers.
The application can adjust the performance parameters of HP-Socket according to different capacity requirements, communication scale and resource conditions (for example: number of worker threads, cache pool size, sending mode, and receiving mode) to optimize resource configuration, so as to meet application requirements without excessive waste of resources.
(Project homepage: Click Here, click here)
* ** V3.2.2 update ***
> Added several help methods:
> Upgrade description:
* ** V3.2.1 update ***
> Added the TcpAgent/TcpPullAgent communication component:
> Added HPSocket for Java SDK:
> Optimize the data sending and receiving policies:
* ** Update v3.1.3 ***
> Added demos for other languages:
> Bug Fix:
* ** V3.1.2 update ***
> Modify the trigger rule of the OnClose ()/OnError () event of the Server component:
* ** V3.1.1 update ***
> Added the dynamic link library HPSocket4C. dll for exporting pure C functions:
> Fully enable the Buffer Pool cache mechanism:
* ** V3.0.2 update ***
> Compile HP-Socket as a dynamic link library:
* ** V3.0.1 update ***
> Added the UDP communication component:
> Code reconstruction and optimization:
- Standardize the naming of all interfaces, classes, and code files
- Refactoring and optimization of a large number of component code
- Server components are added with a read/write lock mechanism to effectively balance processing performance and security
- The Socket object cache list of the server component sets the lock time to improve access security.
RFC number corresponding to the TCP/IP protocol
TCP/IP is composed of many different protocols. It is actually a Protocol group. It is also called the TCP transmission Control Protocol (Transport Control Protocol. Reliable host-to-host layer protocols. The transport control protocol is the fourth layer of the OSI network, and the TCP transmission control protocol is one of the six basic protocols for TCP/IP transmission. The two TCP methods have different meanings. ). TCP is a reliable connection-oriented transmission service. It performs data transmission in segments, and the host must establish a session to exchange data. It uses bitstream communication, that is, data is used as a non-structured byte stream. Specify the sequence number for each TCP transmission field to obtain the reliability. It is the fourth layer in the OSI reference model. TCP provides reliable data transmission by using the internetworking function of IP addresses, and the IP address keeps putting packets on the network, TCP is responsible for ensuring that packets arrive. TCP is responsible for handshaking process, packet management, traffic control, error detection and processing (control) in the actions of the IP addresses ), messages in an abnormal order can be sorted in a new order according to the order of numbers. RFC documents about TCP include RFC793, RFC791, and RFC1700.
What are the common TCP Protocols? What are the differences between TCP Tahoe, TCP Reno, TCP NewReno, TCP Sack, and HSTCP, XCP, VCP, and fast tcp?
Currently, TCP Reno is the most commonly used in wired networks. The high-performance TCP protocol for wireless networks is still a research point, however, it is certain that the TCP protocol used by the wireless network will be different from that used by the wired network. What you are talking about is different versions of TCP. The biggest difference between them is the congestion control algorithm.