Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» delphi:вопрос по интернету (клиент-серверное взаимодействие)

Автор: sailor
Дата сообщения: 15.12.2003 15:34
Спасибо братцы, уже кое-что работает. Сделал простенький сервер и клиента. Сервер делает все вычисления и передаёт результат в (виде строки, т.к. с потоками и структурами решил пока не заморачиваться) клиенту в виде значений, по которым можно строить график. Бывают глюки... Например, не могу отловить исключение при невозможности подключиться к серверу. Пишу так:

Цитата:
try
ClientSocket1.Open;
except
on ESocketError do showmessage('Ошибка установления связи. Обратитесь к разработчикам программы.');
end;

И не работает Ошибки всё равно лезут (если, например, подключаться при отключенном сервере).. причём как раз "ESocketError"! А как надо тогда?
Автор: Dmitry
Дата сообщения: 16.12.2003 07:27

Цитата:
Спасибо братцы, уже кое-что работает. Сделал простенький сервер и клиента. Сервер делает все вычисления и передаёт результат в (виде строки, т.к. с потоками и структурами решил пока не заморачиваться)


Как раз чтобы не заморачиваться очень удобно потоки использовать - на одной стороне данные упаковываются в поток (например TMemoryStream), а на другой - распаковываются. При этом по сети все время передается "однородная" информация - поток. Потоки, кроме того удобно "прозрачно" сжимать, шифровать и т.д. при приеме и передаче. В общем очень удобно.
А для работы с сокетами вместо TClientSocket/TServerSocket лучше пользоваться более удобными, на мой взгляд, библиотеками - Indy, ICS, Synapse.
Автор: sailor
Дата сообщения: 16.12.2003 10:04
Dmitry

Цитата:
лучше пользоваться более удобными, на мой взгляд, библиотеками - Indy, ICS, Synapse.

ОК погляжу. А какая из них самая лучшая? И чем они удобнее чем TClientSocket/TServerSocket (вкратце)?

Цитата:
Как раз чтобы не заморачиваться очень удобно потоки использовать - на одной стороне данные упаковываются в поток (например TMemoryStream), а на другой - распаковываются. При этом по сети все время передается "однородная" информация - поток. Потоки, кроме того удобно "прозрачно" сжимать, шифровать и т.д. при приеме и передаче. В общем очень удобно.

Согласен. В будущем буду разбираться с потоками. Тем более шифрование и сжатие данных - проблемы актуальные (сейчас достаточно смешно поступаю - иногда передаю строки больше 10000 байт... чувствую, что это ненадёжно).
Автор: Dmitry
Дата сообщения: 16.12.2003 11:03

Цитата:
А какая из них самая лучшая?

"Самая лучшая" - это абстрактное понятие. Смотря для чего. Indy и Synapse построены на использовании "блокирующих" сокетов, а ICS - на неблокирующих (на сообщениях винды). Удобнее тем, что они обширнее. Т.е. это не только голые сокеты, а целый набор классов для решение разнообразных задач при работе с tcp/ip. На уровне сокетов это встроенная поддержка SOCKS, SSL, TLS и т.д. Кроме того, в них уже реализованы многие стандартные протоколы - ftp, smtp, pop3, imap, http и т.д.

Страницы: 12

Предыдущая тема: TDataModule в консольном приложении DELPHI


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.