1) Относительно настроек: 

- в коде для клиента и сервере по умолчанию назанчен порт 5000. Может быть изменён, через пункт меню Действия/Настройки... для сервера, если он не находится в режиме прослушивания (кнопка "Остановить", если сервер запущен), а для клиента, если он не подсоединён к серверу (Кнопка "Отсоединиться", если клиент соединён с сервером) 
- в настройках есть ещё режим "Автозапуск", если он включе, то сервер войдёт в режим прослушивания порта при старте приложения... клиент в этом режиме при старте будет пытаться соединиться с сервером... (как есть по умолчанию: "Автозапуск" у сервера включен, у клиента - отключен...) 
- у клиента в настройках есть "Имя сервера", если пусто, то подразумевается та машина, на которой клиент запущен (эта настройка по умолчанию), в противном случае, следует указать имя "внешнего сервера", или его IP-адрес... 

ну вот, пожалуй и все примудрости настроек... Да, выполнение пункта "Применить" в диалоге "Настройки" сохраняет изменённые настройки в файл ChatServer.ini и ChatClient.ini соответственно, от туда же будет произведено их чтение на запуске... 

2) Как начать работать: 

- запустить ..\solChat\debug\ChatServer.exe (он автоматично войдёт в режим прослушивания порта 5000 (ну или указанного в настройках)) 
- запустить ..\solChat\debug\ChatClient.exe, он "не будет пытаться соединяться" с сервером при запуска, если есть уверенность, что сервер запущен и находиться в режиме прослушивания порта, для получения данных с клиентов, то нажать кнопку "Соединиться" (или пункт меню: "Действия/Соединиться") 
- если и сервер и клиент соединины, то "вводим какой-нибудь текст" в верхнее поле ввода и "давим кнопку" "Отправить", полсе чего текст должен быть передан адресату (клиент - серверу, сервер - всем подсоединённым к нему клиентам...) 
- все посылки/приёмы сообщений "катяться" как соотвествующие log-файлы, так и отображаются в оконе... 
- минимизация окна приводит к сворачиванию в иконку в systray, двойной щелчёк на иконке в systray к воостановлению окна и уничтожению иконки в systray-е 

3) Относительно брандмаузера, - да серверу, т.е. приложению ChatServer.exe, следует дать разрешение на прослушивание порта 5000 (ну или того, который будет указан в настройках...) 


4) Что в файлах: 

CommonTools\ 
- [SocketBase.h + SocketBase.cpp] - это т.с. "базовый" для клиента и для сервера 
- [SocketServer.h + SocketServer.cpp] - это производный от [SocketBase.h + SocketBase.cpp] в поддержку работы сервера 
- [SocketClient.h + SocketClient.cpp] - это производный от [SocketBase.h + SocketBase.cpp] в поддержку работы клиента 
- [FileLog.h + FileLog.cpp] - обеспечивает вывод данных в log-файл 

\ChatServer - исходники стандартного Win32Api-приложения, обеспечивающего работу сервера 
\ChatClient - исходники стандартного Win32Api-приложения, обеспечивающего работу клинта 
\debug\ - результаты компиляции проекта, в частности ChatClient.exe и ChatServer.exe, которые как надеюсь, можно запустить... 

Ну остольное по тексту исходников... ;)


------------------
Best regards. 
Михаил Дроздов, ИВС Софт, Пермь, Россия
My Page: http://vfpdev.narod.ru/
ICS Page: http://www.ics.perm.ru/ [on Russian]