ANTIKLAN писал(а):Мне все равно не понятно. Можно по шагам на примере например библиотеки lnet расписать как добавить клиенту функции отправки данных на сервер и как на сервере их принять и обработав отправить назад. Чем проще будет схема тем лучше. И с подробными комментариями каждой строчки кода и команд. А то я так никогда не разберусь интернет ничего полезного не выдает все только в общих словах, а как на примеры посмотришь, то ни черта не понятно.

1. Ставите пакет Lnet. (
http://starworld.syt.ru/230/230.htm)
2. Копируете проект "lnet\examples\visual\tcpudp" (всю папку себе в другое место)
3. Открываете "testnet.lpi" из этой папки.
4. Открываете редактор форм, удаляете с формы компонент с именем SSL (замочек такой), потому что у вас не установлена Open SSL, я уверен.
5. Запускаете проект, при запуске лазарус ругается на строки 78 и 85, - комментируете их, они про удаленный SSL.
6. Запускаете проект, жмете [Host], это у вас сервер. Windows спросит разрешить ли этому серверу принимать/отправлять что то в сеть (а может и не спросит).
7. Запускаете "testnet.exe" не закрывая сервер, прямо из каталога проекта, жмете [Connect], это у вас клиент (можно несколько раз запустить для наглядности).
8. Пишете что то в строке клиента жмете [Send], сервер сообщение принимает, показывает и отправляет всем клиентам.
"как добавить клиенту функции отправки данных на сервер"
- в примере используется отправка данных вида "строка", читайте, вникайте как сделать какие-то свои методы. Но вообще можно отправить только данные по сети, а уж как они будут обрабатываться - это как программист напишет. Отправка на сервер будет Send, прием Receive.
"и как на сервере их принять"
- процедура получения сообщения "LTCPComponentReceive"
"и обработав отправить назад"
- вставте после строки "if aSocket.GetMessage(s) > 0 then begin" текст:
- Код: Выделить всё
if (s = 'HI') and FIsServer then begin
aSocket.SendMessage('О, тебе тоже привет!');
Exit;
end;
перезапустите все, если с клиента отправите "HI", сервер ответит только 1 клиенту и ничего не скажет остальным.