QuickServer v1.4.7 API Specification

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


Core Packages
org.quickserver.net Support classes and exceptions.
org.quickserver.net.server Contains all of the classes for creating QuickServer.
org.quickserver.util.xmlreader Classes for reading XML and storing the configuration.


Support Packages
org.quickserver.net.qsadmin Contains all of the classes for creating QSAdminServer.
org.quickserver.net.server.impl Contains all of the implementation classes for interface in server package.
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.pool Provides classes for Object Pools.
org.quickserver.util.pool.thread Classes for managing the pool of threads for handling clients.


Util Packages
org.quickserver.net.qsadmin.gui GUI components and classes.
org.quickserver.swing Classes for GUI related work.
org.quickserver.util.logging Support classes for LogRecord formatting.


QuickServer is an open source Java library/framework for quick creation of robust multi-client TCP server applications. With QuickServer you can concentrate on just the application logic/protocol on hand.
QuickServer provides an abstraction over the ServerSocket, Socket and other network and input output classes and it eases the creation of powerful network servers.

QuickServer Example programs demonstrating the use of the library can be found with the QuickServer distribution [examples folder]. Latest examples, documentation is available through the website.

Brief Architecture
QuickServer divides the application logic of its developer over eight main classes,

[#] = Any one of these have to be set based on default DataMode for input. The default DataMode for input is String so if not changes you will have to set ClientCommandHandler.

For more info view QuickServer Basic Architecture.
Major Features
  * Create multi-client TCP server applications.
  * Support for secure server creations: SSL, TLS. Secure
  * Support for thread per client (multi-threaded) - Blocking Mode.
  * Support for non-blocking input output - Non-Blocking Mode.
  * Clear separation of server, protocol and authentication logic.
  * Remote administration support: QSAdminServer (With support plugable application commands).
  * Command Shell for local administration of server.
  * GUI based remote administration: QsAdminGUI (with support for plug-ins - PluginPanel)
  * Restart or Suspend the server without killing connected clients.
  * Inbuilt 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, Filesrv.

Whats New in 1.4.7 ?
  * Implemented support NIO writes in sendClientXXX methods of ClientHandler.
  * Added initServer() method that throws AppException if it fails.
  * Added getServiceError() to Service.
  * Added load() method to QuickServer that loads the server from the xml file.
  * Improved ByteBufferInputStream for readLine.
  * Improved BasicClientHandler, NonBlockingClientHandler.
  * Improved setClassLoader() in QuickServer.
  * GhostSocketReaper now will close pools after last client disconnects after server is stopped.
  * Many more bug fixes and enhancements.
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 full credits listing.
Get Support
Do post your questions, suggestions, bug-reports, enhancement-requests etc. at Developers Forum. Please do not contact development team directly unless you really would like to send a private message.
Note: We provide a higher level of support to individuals and companies who have contributed to QuickServer project in some way. There are a number of ways to contribute, do visit our web site for details on ways of contributing to QuickServer.
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 post it in the QuickServer Forums. Thanks
Web Site : http://www.quickserver.org


Copyright © 2003-2006 QuickServer.org