Создание многопользовательского чата
В предыдущей статье (“Создание клиент-сервера”) рассказывалось о разработке простейшего чата на двоих пользователей. Структура чата “head-to-head” достаточно проста, ведь есть только один канал, с одной стороны которого сервер, с другой – клиент. Multy-user-структура несколько сложнее. Есть один сервер и множество клиентов. Сервер при этом выполняет обработку входящих сообщений, пересылает их по нужным каналам, регистрирует пользователей и показывает всем, сколько пользователей общаются в текущий момент. В данной статье мы попробуем все это реализовать.
Многопользовательский чат (Multy-user on-line)
Начнем разработку приложения чата с уже готовой формы из предыдущей статьи, или с новой. Вот, что должно быть в форме:
PortEdit (Edit)
HostEdit (Edit)
NikEdit (Edit)
TextEdit (Edit)
ChatMemo (Memo)
ClientBtn (Button)
ServerBtn (Button)
SendBtn (Button)
ServerSocket (ServerSocket)
ClientSocket (ClientSocket)
Компоненты из стандартного пакета Delphi ServerSocket и ClientSocket не всегда могут быть отображены в палитре Internet, и их нужно загрузить следующим образом:
выбрать меню: Component — Install Packages… — Add., далее нужно указать файл …\bin\dclsockets70.bpl.
Добавляются новые компоненты:
UserListView (ListView)
ImageList (ImageList)
ServerTimer (Timer)