Newsreader Requirement outline: Server Communications
Note that these are minimum requirements. Your application features may have additional requirements.
Requirement Outline
- Obtain and manage the list of groups -- currently 20,000 and growing, depending on who is doing the counting. Being able to support at least 40,000 is a good design goal for 1997. Supporting 67,000 would be a good design target if you want the code to survive unchanged 5 years or more. See the NNTP Protocol LIST commands.
- Obtain information on all articles present in a group. See the NNTP Protocol XOVER command extension.
- Obtain and manage articles for reading. This is generally done using the NNTP Protocol (and common extensions) Article formats are according to RFC 1036 Standard Usenet Message Format
Some older newsreaders loaded articles directly from newsgroup directories. This is no longer common practice. Few machines have a local news spool, and newsserver architectures are moving away from one file per article methods of storage.
- It is more and more common for articles to include attachments and graphics. Be able to handle articles which exceed 100K and more. (Allocating a fixed size buffer is not a good idea.)
- Do not limit line lengths. Plan on getting VERY long lines, in excess of 1024 characters.
- Know what a header extension line is.
- Format and present an article for posting. Article formats are according to RFC 1036 Standard Usenet Message Format (And you ARE going to follow the guidelines for generating headers, aren't you? See The Good Net Keeping Seal of Approval), the inews(1) man page and INN FAQ Make sure that clients can post.
Tips
- Be sure to read all of the NNTP Protocol documents before writing any code.
- Be sure to write code which meets The Good Net Keeping Seal of Approval criteria, which describes appropriate and inappropriate behavior of Usenet client-server interactions.
RKT Rapid-Links:[Search] [RKT Tips] Path:Usenet RKT / For Developers / Creating a newsreader / 0228.htm
You are reading from the Usenet RKT
Comments? DocID: USERKT/0228.htm
Copyright 1997, Forrest J. Cavalier III, Mib Software, INN customization and consulting