http://mmz-asio4delphi.googlecode.com/svn/trunk/
DelphiASIO_mmzmagic this library is the Boost an ASIO for Delphi's high efficiency and stable packaging more than eight years of Delphi development, is still in use D7, subsequent version of Delphi d2007, for example, d2010 still very very good, there are a lot of convenient function and improve the efficiency of grammar, why not change to the new version? For me the reasons or because communication program can't make a modified simple transplant into the new version, another aspect is the DELPHI itself has no good communication library, INDY instability is not perfect, the different versions are also some differences, development up and thrown exception way also let a person very uncomfortable, studied some third-party communication library, such as ics series dxsock series, finally chose dxsock, this lightweight library from stability and ease of use is better than other, but these libraries due to the underlying implementation ways are not very good support for large-scale application, due to the subsequent support problem cannot support new unicode version of DELPHI, c + + with similar ACE, an ASIO and so on high performance stability of the industrial-grade bull library support, c + + users can easily get a lot of problems without trouble for the number of simultaneous connections, therefore I have decided to encapsulate the underlying research based on IOCP (port) to realize the Boost: : an ASIO for DELPHI underlying communication library, and have been implemented, DELPHI fans are all blessed! Ha ha!
Basically has the following advantages:
Test on 1, support a large number of simultaneous (xp system can support up to 15000 + concurrent connections, pay for the test program) 2, support all versions of Delphi (d5 and above version can support)
3, support the TCP server and client, asynchronous communication mechanism
4, automatic and efficient processing in packaging bag, asynchronous communication more annoying problem such as memory management, is also easy to cause the unstable factors, provide external use concise interface
5, the most important thing is to use and development is very simple:)
FAQ:
What can I do with it? A: all use TCP communication place you can use it,
Use it encapsulated server or client can communicate with other controls or other program? A: yes, the bottom is the standard TCP protocol, there is no problem,
It has a sample program? A: there are special performance test program, also has a remote database objects ADO version and UNIDAC version of actual packaging,
Use it whether you need to pay? Can you provide the source code? A: completely free to use, and provide all the source code, I will do the follow-up update do its contribution to the development of Delphi,
If I contact the author of it is improved? A: QQ 22900104, Ma Minzhao, mailbox 22900104 @qq.com, QQ discussion groups 15637473 welcome to discuss,
Released when the client is attached? Answer: the demand with a dynamic library "Svr_intf. DLL" 100 k, because is to use vs2005 compiler boost library runtime machines need to install Microsoft c + + runtime model used by vs2005,
CodePudding user response:
Good, good.CodePudding user response:
Lz, no contribution spiritCodePudding user response:
Collection,CodePudding user response:
A good!CodePudding user response:
The knowledge descriptionBOOST:
Boost library is a portable, provide source code of a c + + library, as a backup of the standard library, is one of the standardization of c + + engine, Boost library launched by c + + standards committee members of the working party, some of the content is expected to become the next generation of c + + standard library content, great influence in the c + + community, is a standard form of "standard" the standard library, Boost because of its emphasis on cross-platform, emphasis on the standard c + +, has nothing to do with writing platform, most of the Boost library functions use only need to include the corresponding header files, a file system (such as a regular expression library, library, etc.) need to link libraries,
An ASIO:
Boost. An Asio asynchronous network library is a lightweight, it has simple, compact, high efficiency, good scalability, high support concurrent I/o processing, introduction to simple, and many other advantages, Boost. An Asio adopted in design and similar Ace Proactor pattern design, with built-in support for multiple threads at the same time, in view of the different platforms, using the optimal model of socket can take maximum concurrent processing capacity of the machine,
IOCP (port) :
Windows are designed to a safe, robust operating system, to be able to run a variety of applications to serve thousands of users, in dealing with a large number of concurrent users request, if by means of a user a thread that will cause the CPU in the tens of thousands of switching between threads, the consequences would have been unthinkable, but IOCP is entirely the completion port model would not be so, it is the theory of parallel the number of threads must have an online - that means 500 customers requests at the same time, should not be allowed to appear 500 runnable threads, for now, the IOCP completion port is one of the best Windows performance I/O model, it is also the most complex kernel object, it avoids the original model by the way, when a large number of concurrent users can improve greatly the application of parallel processing ability, said although the IOCP associated with I/O completion port application scope is all sorts of circumstances, but for now, the IOCP completion port is mainly used for network communications, such as: large MMO game (now big mmos are using IOCP completion port), large IM (instant messaging, real-time communication system, Internet cafe management system, enterprise management system and so on has a large number of concurrent users request, stable and efficient IOCP completion port communication model almost become the basis of the development of this kind of system,
Myth:
There are a variety of Windows socket model, complete routine efficiency is very high, not bad in other (model knowledge here is not much to do, readers can search or consult relevant information), but I don't know why, about the IOCP there will be a lot of people question: IOCP there really is such a myth?
Question, though, there are still a lot of people still struggling to find a complete in the vast network of IOCP source code, hope to be able to understand the IOCP have the effect of get twice the result with half the effort, but the most is mutilated, IOCP is what? What are the mechanisms of IOCP? IOCP what performance? When a person after thorough understanding IOCP, only to solve in the mystery: actually it's no myth, a lot of people are questioning the IOCP, to say the words above, is actually he was deified IOCP, mainly because the IOCP don't understand, don't even know, so, who is deified IOCP? Is those who do not understand the IOCP but still want to know the person has no advanced,
IOCP designed mainly for data throughput and link concurrency, some people using IOCP, do what is blocking mode: build a send queue for each connection to every time to deliver a request to the IOCP, such as only after the request is made up and dequeue a redeliver to IOCP, any server, how to achieve performance, are also demanding for designers, according to the server performance requirements, rational utilization of the communication model, is the key to the designers, if only 100 terminals and each terminal in a every 10 seconds to send a packet of server system, what kind of Socket model is the same, even you can do with Win98 system,
For a server, memory management, need to the designer of the network, is to have a deeper understanding to operating system and so on, and has profound technical strength, otherwise, will produce more deified IOCP,
Server performance, the system support is the foundation, the designer level is the key, and the horizontal condition, there is not a measure of the final standard, it is a never-ending, over time, and constantly improve the accumulation of experience,
CodePudding user response:
This must be supported,CodePudding user response:
Delphi and contribution, such people are doing is really rare, must support!CodePudding user response:
Ha ha are interested more dongdong are open sourcehttp://user.qzone.qq.com/22900104/blog/0
CodePudding user response:
Very good, very powerfulCodePudding user response:
This must be the topCodePudding user response:
[for a server, memory management, need to the designer of the network, is to have a deeper understanding to operating system and so on, and has profound technical strength, otherwise, will produce more deified IOCP,Server performance, the system support is the foundation, the designer level is the key, and the horizontal condition, there is not a measure of the final standard, it is a never-ending, over time, and constantly improve the accumulation of experience,]
So, I'm very hope to have a communication server framework, a beginning developer can quickly achieve superior can effect,,,,,,,,
Step back again, just the server no longer write their own, but directly use ready-made Websever (such as apache, IIS)
Their stable and efficient, is superior is difficult to achieve
As long as we develop the application layer, business logic,,,,,,,,
CodePudding user response: