QuickServer
v1.4.1

QuickServer v1.4.1 API Specification

QuickServer is an open source Java library/framework for quick creation of robust and multi-threaded, multi-client TCP server applications.

See:
          Description

Core Packages
org.quickserver.net.qsadmin Contains all of the classes for creating QSAdminServer.
org.quickserver.net.server Contains all of the classes for creating QuickServer.

 
Support Packages
org.quickserver.net Support classes and exceptions.
org.quickserver.net.qsadmin.gui GUI components and classes.
org.quickserver.security Classes for Security interfacing with QuickServer.
org.quickserver.sql Classes for SQL interfacing with QuickServer.
org.quickserver.util.io Support classes for IO operation.
org.quickserver.util.logging Support classes for LogRecord formatting.
org.quickserver.util.pool Provides classes for Object Pools.
org.quickserver.util.pool.thread Classes for managing the pool of threads for handling clients.
org.quickserver.util.xmlreader Classes for reading XML and storing th configuration.

 

QuickServer is an open source Java library/framework for quick creation of robust and multi-threaded, multi-client TCP server applications. It provides an abstraction over the java.net.ServerSocket class and it eases the creation of powerful network servers.
 
Example programs demonstrating the use of the library can be found with the QuickServer distribution [examples folder]. Latest examples, documentation is also available through the website.
 
Need for QuickServer
---------------------
In any programming language, socket programming is not small fleet to most programmer and creating a multi-threaded multi-client network server is a nightmare for most programmers. We always waste time in writing the same code each time we build a new software which acts has network server (handles multiple socket connections). I always create such application, so this time I have made a library - QuickServer, to handle a creation of a multi-threaded, multi-client server applications for Java. With this library one can just concentrate on just the application logic/protocol on hand.
 
Brief Architecture
---------------------
QuickServer divides the application logic of its developer over five main class,

For more info view QuickServer Basic Architecture.
 
Major Features
---------------------
  * Create multi-threaded, multi-client TCP server applications.
  * Support for secure server creations: SSL, TLS. Secure
  * Clear separation of server, protocol and authentication logic.
  * Remote administration support: QSAdminServer (With support plugable application commands).
  * Command Shell for local administration of server.
    QSAdminServer.setShellEnable(boolean)
  * GUI based remote administration: QsAdminGUI (with support for plug-ins - PluginPanel)
  * Restart or Suspend the server without killing connected clients.
  * In build pools for reusing of Threads and most used Objects.
  * Full logging support [Java built in Logging].
  * Support for sending and receiving Strings, Bytes, Binary and serialized java objects.
  * Support for identifying and searching a client. ClientIdentifiable
  * Support for xml configuration with ability to store application specific data in the same xml.
    [View Sample]
  * Support for xml Based JDBC Mapping - DBPoolUtil.
  * Support for Service Configurator pattern. Service
  * Support for restricting access to server by ip address.
  * Support for loading/reloading application jar from xml.
  * Ability to add process hooks into QuickServer. ServerHook, InitServerHook
  * Ability to specify maximum number of clients allowed.
  * Support for negotiating secure connection over normal tcp connection.
  * Nice easy examples come with the distribution - FTPServer, CmdServer, EchoWebServer, ChatServer, SecureEchoWebServer, XmlAdder, PipeServer.

 
Whats New in 1.4.0 ?
---------------------
  * Added Secure Mode for QuickServer: SSL, TLS.
  * Added ability negotiating secure connection over normal tcp connection. ClientHandler.makeSecure()
  * Added init server hooks to QuickServer - InitServerHook
  * Added BINARY mode of communication: ClientBinaryHandler
  * Added QSAdminAPI api for communicating to QsAdminServer.
  * New example: XmlAdder - A simple xml server that adds 2 integers.
  * New example: PipeServer - A simple redirection server.
    Note: v1.4.1 is just an improved version of 1.4.0 with bug fixes.
 
QuickServer Credits
---------------------
Thanks to everyone who helped me in this project. Thanks to all users who posted/sent their valuable comments and suggestion. I would also like to thank all the people who have posted/sent bug reports. Please do keep reporting any bugs that you find in QuickServer that way you will be helping in improving it. Do visit our web site for a full credits listing.
 
Request to Developers
---------------------
If you would like to contribute to the development of QuickServer please do get in touch with me. I am always on the lookout for people who can contribute to make this library even better.
If you use QuickServer in your development and if you would like to share your experience with the QuickServer community, please feel free to email me the details or do post it in the QuickServer Forums. If possible do mail across the source code of your project. If found interesting your project will be showcased on the powered projects section of QuickServer's homepage. Thanks.
 
Web Site : http://www.quickserver.org


QuickServer
v1.4.1

Copyright © 2003-2004 QuickServer.org