================================
CafChat and the Mailslot Control
================================

Bob Riemersma
April 2007 updated August 2010

This software is free to anyone to use or modify for any
legal purpose.  I make no guarantees however, offer no
support, and accept no liability for its use.

Bugs may remain in the code since it has had only limited
testing.


Mailslot Control
================

This is a VB6 UserControl that encapsulates some of the
Windows Mailslot capabilities for simple peer to peer
networking within a Domain or Workgroup LAN.  It supports
both broadcast and computer to computer transmission.

Mailslots do not operate over the Internet under normal
circumstances.  However since they are part of Windows
Networking the use of Mailslots does not require any
additional UDP or TCP ports.

The machines need to have File and Print Sharing enabled
and their firewalls must be set to let it through.

Indeed Mailslots can be used among computers networked
via NetBEUI or IPX if Windows Networking is bound to one
of these protocols.  No TCP/IP is required.

As written it should work on Windows 9x, NT 4.0, and later
Windows operating systems.


CafChat
=======

This is a small VB6 demonstration program using the
Mailslot control.  It is a simple chat application.

The demo incorporates a simple form of discovery to build
a list of active users.  Through simple enhancements it
should be possible to add "private messaging" among users,
file transfer, or other more advanced features.

Because of the way it uses Mailslots only one copy of this
demo can be running on any given machine.  This means
testing on a single machine is limited.  Two or more
machines sharing a common LAN and Domain or Workgroup are
required to fully test CafChat.

CafChat does not operate across the Internet.


Changes since Version 1.2
=========================

o  User names have been simplified by dropping the suffix
   @computername due to numerous requests.

o  Sending in "alert" mode has been dropped because users
   had no practical use for it and found alert messages
   annoying.

o  Line protocol message types have been reduced though we
   should still process obsolete messages properly.

o  Mailslot machine to machine limits and message
   truncation are handled in a more reliable manner.  On
   sending a message that gets truncated the sending user
   is now warned.

o  In some network environments Mailslot messages arrive
   duplicated.  This occurs when machines are multihomed
   or have Microsoft Networking bound to multiple
   transports.  CafChat 2.0 attempts to identify duplicates
   and discard them now.

o  A timestamp prefix has been added to displayed messages.

o  A splitter bar is now available, allowing the Users list
   to be resized.

o  Where practical, CafChat 2.0 will interoperate with
   existing CafChat 1.x peers.  In some cases the user
   names may look odd since we've now dropped the
   @computername suffix from names in CafChat 2.0.

Remember, since you have the full source you can restore
earlier features or add new ones.  If you are not a VB6
programmer and don't have the necessary tools and compiler
licenses yourself there are many programmers who can make
custom changes at quite reasonable costs.
