Делаем примитивный чат на DELPHI. Установка необходимых компонентов
Вконтакте - популярное приложение на Андроид для общения в самой популярной социальной сети России. Благодаря ему вы получите возможность обмениваться сообщениями, выкладывать фотографии, аудио и видео, прослушивать любимые музыкальные композиции, следить за новостями на стене друзей и вступать в сообщества.
У нас вы можете скачать Вконтакте для Андроид, установить его на свое устройство и всегда находиться в режиме онлайн, имея полный доступ ко всем основным функциям социальной сети.
Особенности
- Управление основными функциями Вконтакте.
- Удобный обмен личными сообщениями с другими пользователями соцсети.
- Организация группового чата.
- Просмотр профилей других пользователей.
- Публикация в сети картинок, фотографий, музыки и видеороликов.
- Синхронизация адресной книги мобильного устройства с аккаунтом пользователя.
- Удобный доступ к записям на стене, их чтение, создание и изменение.
- Прослушивание музыкальных композиций и просмотр видео.
- Возможность отслеживания, поиска и фильтрации новостей.
- Поиск новых сообществ и проведение в них обсуждений.
- Получение уведомлений о заявках в друзья, приближающихся днях рождения и прочих событиях.
С помощью приложения Вконтакте на Андроид вы можете управлять настройками приватности, блокировать нежелательные контакты. Программой поддерживается геотаргетинг, работа с сервисом «Мои закладки», добавление аудиостатусов, прикрепление к сообщениям текстовых и мультимедийных вложений. Для более удобного использования программы в ней предусмотрен виджет для рабочего стола, обеспечивающий доступ к основному функционалу.
ВКонтакте популярная социальная сеть, которая объединила множество людей. Много людей заходят в нее с обычного компьютера, но можно также скачать ВКонтакте бесплатно и установить программу на телефон. Специально разработанная версия программы позволяет пользоваться полным функционалом социальной сети: общаться с друзьями и знакомыми, просматривать фотографии и видео, слушать музыку с вашего телефона.
Установка программы на телефон, которые работают под операционной системой Android не вызовет никаких сложностей. Достаточно скачать ВКонтакте с официальной страницы PlayMarket или с нашего сайта (ссылка расположена внизу страницы) и запустить APK-файл.
Функциональность программы ВКонтакте на телефоне позволяет:
- Вести удобную личную переписку с друзьями используя с возможностью вставки смайликов и стикеров.
- Добавлять на свою страницу фотографии, понравившееся видео, а также публиковать плейлисты музыкальных композиций.
- Программа предоставляет несколько удобных виджетов для рабочего стола телефона.
- Удобный просмотр личных страниц ВКонтакте других пользователей.
- Полная синхронизация списка всех контактов и сообщений.
Теперь всегда можно быть в курсе событий и новостей друзей, которые они выкладывают у себя на личных страницах. Делиться понравившимися записями и добавлять фотографии и музыку на свою личную страницу. Но главное это, конечно же, возможность общаться с друзьями в чате. Раздел «личные сообщения» компактно выглядит на экране телефона, удобно набирать текст и читать текстовые сообщения.
Дополнительным плюсом программы ВКонтакте для телефона – установка дополнительных виджетов для рабочего стола. С помощью их можно получить быстрый доступ к вашим музыкальным композициям в ВК или просматривать новости различных групп.
Еще одной особенностью программы ВКонтакте моя страница открывается сразу при запуске приложения. Можно настроить автоматический вход в социальную сеть, не нужно каждый раз вводить логин и пароль.
Если вы обладаете смартфоном и зарегистрированы в этой социальной сети, рекомендуем Вам скачать ВКонтакте и установить ее на свой телефон!
Думаю вам не раз приходила идея создать свой (корпоративный) чат. Такая же идея пришла и мне, и я как всегда начал искать информацию в сети интернет, но таки ни чего хорошего и не нашел. Все как то не полно описывает как это можно сделать.
И я себе обещал, как изучу так выложу полную информацию по этой теме. Я делал свой чат на сокетах. По ним можно общаться, как по сети интернет, так и по локальной сети. Для этого вам достаточно знать Ip адрес. Программировал на Delphi7.
Установка необходимых компонентов
Так как я делал на delphi7, там не было по умолчанию тех компонентов, которые мне нужны. (ServerSocket1
, ClientSocket1
).
Для этого нужно добавить компоненты Сокета.
В меню заходим Component --> Install Packages…--> Add --> dclsockets70.bpl
И указываем путь к пакету с компонентами, он находиться в корневом папке Delphi в паке Bin. У меня он находился в:
C:\Program Files\Borland\Delphi7\Bin\ dclsockets70.bpl
После такого добавления у вас в вкладке Internet должны появиться данные компоненты.
Размещение компонентов и написание кода
На форму я кинул такие элементы: ServerSocket1, ClientSocket1, Edit1 (для чата), Edit2 (для IP адреса сервера), Memo1 для отображения сообщения, ну и 3 кнопки.
Для создания Сервера пишем на событие в кнопке вот такую вещь:
function GetLocalIP: String ;const WSVer = $101;
var
wsaData: TWSAData;
P: PHostEnt;
Buf: array of Char;
begin
Result:= "";
if WSAStartup(WSVer, wsaData) = 0 then begin
if GetHostName(@Buf, 128) = 0 then begin
P:= GetHostByName(@Buf);
if P <> nil then
Result:= iNet_ntoa(PInAddr(p^.h_addr_list^)^);
end ;
WSACleanup;
end ;
end ;
procedure
TForm1.Button3Click(Sender: TObject);
begin
ServerSocket1.Port:=65000; // Порт вашего сервера, задаем любой какой вам понравиться
ServerSocket1.Active:=True; // активируем сервер
ServerSocket1.Open; //запускаем
ShowMessage("Ваш IP: "+GetLocalIP); //выдаем наш IP адрес, чтоб клиент смог к нам подключиться
end
;
После того как сервер был включен, клиент сможет подключиться к серверу.
Для этого он прописывает IP адрес сервера в Edit2, И нажимает кнопку соединиться:
begin
ClientSocket1.Address:=Edit2.Text; // IP адрес сервера
ClientSocket1.Port:=65000; //его порт
ClientSocket1.Active:=True; //активируем клиента
ClientSocket1.Open; //запускаем
end ;
Внимание : Клиент может только отправлять сообщение, а Сервер в свою очередь – принимать. Для двустороннего общения включите Клиента и Сервера на двух программах разного конца сети.
Для чтения сообщения, у сервера есть ожидание приема сообщения…вот она
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
begin
memo1.Lines.add(Socket.RemoteAddress+": ");
memo1.Lines.add(Socket.ReceiveText);
StatusBar1.Panels.Items.Text:=Socket.RemoteAddress;
end ;
Для отправки сообщения я написал в двух процедурах. Вот они:
begin
if form1.ServerSocket1.Active then
if form1.ServerSocket1.Socket.ActiveConnections>0 then
form1.ServerSocket1.Socket.Connections.SendText(Text);
if
form1.ClientSocket1.Active then
form1.ClientSocket1.Socket.SendText(Text);
end
;
procedure
TForm1.Button1Click(Sender: TObject);
begin
SendMes(Edit1.Text);
memo1.Lines.add(GetLocalIP+": ");
memo1.Lines.add(Edit1.Text);
end
;
В данной статье я расскажу, как написать простой чат структуры Head-to-Head, то есть соединение клиент-сервер с одним каналом связи.
Сперва создадим сервер. Создаём новый проект, Caption формы меняем на "Server". Добавляем на форму TSpinEdit (находится на вкладке "Samples", его лучше разместить где-нибудь вверху. Будет служить для указывания порта для коннекта клиента), TServerSocket (на вкладке "Internet", если этого компонента там не видно - выбираем Component -> Install packages, жмём кнопку Add и выбираем в диалоге в директории bin файл dclsockets70.bpl, и нажимаем Ok. Компоненты TClientSocket и TServerSocket должны появиться на вкладке "Internet"), TMemo (в нём будут отображаться сообщения, 2 TButton"а (один будет создавать сервер, другой - разрывать связь) и TEdit для отправки сообщений. Установите ServerType в StNonBlocking у TServerSocket"а.
Изменяем первому TButton"у Caption на "Активировать серв.". Пишем этой кнопке в обработчик OnClick:
begin
ServerSocket1.Port:=SpinEdit1.Value; // указываем порт
ServerSocket1.Active:=True; // активируем наш сервер
end;
Обработчик OnClick для кнопки, разрывающей коннект:
procedure TForm1.Button2Click(Sender: TObject);begin
ServerSocket1.Active:=False; // деактивируем сервер
end ;
Теперь пишем обработчик для TEdit"a OnKeyPress
var S: string ;
begin
if Key = Chr(13) then // если нажали клавишу Enter...
begin
Key:=Chr(0);
S:=Edit1.Text; // то в строковую переменную записываем текст из TEdit"à...
Edit1.Clear; // очищаем поле
ServerSocket1.Socket.Connections.SendText(S); // и отправляем текст
Memo1.Lines.Add("< "+S);
end ;
end ;
Отправку сообщений сделали, теперь нужно организовать их приём. Для этого пишем обработчик OnClientRead у TServerSocket"а.
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;Socket: TCustomWinSocket);
var Received: string ;
begin
Received:=Socket.ReceiveText;
Memo1.Lines.Add("> "+Received);
end ;
Теперь создадим реакцию на отключение клиента
procedure TForm1.ServerSocket1ClientDisconnect(Sender: TObject;Socket: TCustomWinSocket);
begin
Memo1.Lines.Add("Клиент отсоединился" );
end ;
На этом закончим создание сервера. Сохраните проект и создайте новый.
Соотвественно новой форме изменяем Caption на "Клиент". Где-нибудь вверху формы разместим TEdit (будет для указания адреса сервера), TSpinEdit (будет указывать порт для подключения к серверу) и кнопку TButton, также как и для сервера, добавим TMemo и TEdit для отображения и отправки сообщений, и главный компонент - TClientSocket. Обработчик OnClick для кнопки, которая будет подключать:
procedure TForm1.Button1Click(Sender: TObject);begin
ClientSocket1.Host:=Edit1.Text;
ClientSocket1.Port:=SpinEdit1.Value;
ClientSocket1.Open;
end ;
Теперь пишем обработчик OnKeyPress для Edit2:
procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);var Msg: string ;
begin
if Key = #13 then
begin
Key:=#0;
Msg:=Edit2.Text;
Edit2.Clear;
with ClientSocket1.Socket do SendText(Msg);
Memo1.Lines.Add("< "+Msg);
end ;
end;
Теперь организуем приём сообщений. Для этого пишем обработчик у ClientSocket-а OnRead:
begin
Memo1.Lines.Add("> "+Socket.ReceiveText);
end ;
Собственно наш простейший чат готов. Можете протестировать его с помощью обратной петли: создайте сервер, например, с портом 5000, запустите клиент, укажите ему в поле для адреса сервера localhost (либо 127.0.0.1), порт 5000 и подсоединитесь.