Live chatting with anonymous users
That's easy ... there's a module for it, it's called My Live Chat. Some details about it (from its project page):
This module adds the necessary script to the footer of ones site for prompting users to chat via My Live Chat.
My LiveChat is a fast, high performance and most user-friendly live chat solution. My LiveChat allows you to live chat with website visitors, monitor site traffic, and analyze visitors' web activities, including their search engine and keyword usage. Free version is also available.
Modules to facilitate messaging between users
The DrupalChat module allows visitors of your Drupal site to chat with each other privately or together in a public chatroom. Some more details about this module (from its project page):
This module enables sites to provide online support for their products/services, and thereby increases user engagement. Also, it is useful for social networking sites, forums, blogs, etc. It logs the user conversations so that they can be later viewed in message inbox.
The Privatemsg module allows your site's visitors to send private messages to each other. Some more details about this module (from its project page):
Perfect for community oriented sites, such as forums and social networking sites. Many additional features are available as separate modules.
The Chat Room module enables chat rooms to be set up on Drupal sites. No additional software is required. Some more details about this module (from its Community Documentation):
... uses AJAX to update chats without page reloads. Chatrooms and chats are nodes, providing easy access with many other modules, such as Views, CCK and Organic Groups. The module features chat in pop-up windows, invitations and private chats.
Chatroom is aimed primarily at tight integration with Drupal, not at being a highly scalable IRC or XMPP style solution.