| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Сети > TCPClient/TCPServer - обратная связь |
| Автор: Akella 30.1.2006, 17:22 | ||
| как сервер должен отправить что-нить в ответ клиенту? Где, в каком, месте прописать код отправки текста от сервера клиенту??? КОД СЕРВЕРА
|
| Автор: F1reF0x 31.1.2006, 00:50 | ||
Вот мой код, писал когда то. |
| Автор: Akella 31.1.2006, 08:54 |
| как сервер должен отправить что-нить в ответ клиенту? Где, в каком, месте прописать код отправки текста от сервера клиенту??? Т.е. нужно рганизовать братную связь. Прочитай название темы. В твоем коде не могу найти кусок,в котором осуществляется обратная связь с клиентом. Клиентов может несколько в один момент. Скажу сразу, что я НЕ пишу программу-чат. |
| Автор: Romikgy 31.1.2006, 10:20 |
| Если один раз то можно здесь , если вообще , то надо будет перебрать все соединения/потоки , и передавать нужным, что хошь. ЗЫ только в демах от индейцев они советуют в потоках сохранять хендл сокета, дабы его не посеять , а определять его асепте. |
| Автор: Snowy 31.1.2006, 10:35 | ||||
| Что-то понаворочено. Если создаем тред, то вот этот код должен быть в TClientDataThread.Execute;
Но при создании треда не забуть дать ему указатель на клиентское подключение. Соответственно у тебя в структуре треда должен быть такой указатель. Добавлено @ 10:43 Перестроить нужно примерно вот так:
|
| Автор: Akella 31.1.2006, 11:08 |
| где можно взять нормальные демки для работы с сокетами на сайте индейцев, я так понял, только старое, т.к. в D2006 не открываются нормально. В демках D2006 тоже не нашёл. мож у кого есть примеры, скиньте на мыло или сюды, буду признгателен |
| Автор: Snowy 31.1.2006, 11:10 |
| Там Indy 10. Качай примеры для 10-ки. 9-е примеры разумеется не пойдут. |
| Автор: Akella 31.1.2006, 11:17 |
| мне нужны простые примеры для передачи текста, файлов от клиента к серверу и обратно, с обратной связью. |
| Автор: Romikgy 31.1.2006, 11:54 | ||
| http://forum.vingrad.ru/index.php?showtopic=80833&view=findpost&p=631589 Это демки к 10 индейцам Добавлено @ 12:05 Ну дык вот в первом же файле
WriteLn - ты и отвечаешь клиенту , че не понятно |
| Автор: Akella 31.1.2006, 12:40 | ||||
| здесь много лишнего, даже не знаю что удалить, все равно спасибо Добавлено @ 12:51 Клиент подвисает и текст не получает код сервера
клиент получает только это "Zip Code - Сергвер готов.", странно
|
| Автор: Romikgy 31.1.2006, 13:35 | ||
| Конешно , это ж демка и написанна кемто для своих нужд
Чет типа такого, проверь у меня нет 10 индейцев |
| Автор: Akella 31.1.2006, 17:18 | ||||
| как передать файл через сокеты с помощью TMemoryStream??? Добавлено @ 17:22 передаю текстовый файл, но он почемуто не передается. Всё без ошибок, но файл, я так понимаю не передается. клиент
сервер
|
| Автор: Romikgy 31.1.2006, 17:43 | ||
Может так, попробуй Если файл текстовый, то можно через Tstringlist, загрузить в него и передать как одну строку |
| Автор: Akella 31.1.2006, 17:58 |
| нет, то же самое файл передается но кусками и в клиентский мемо при очередной отправке како-нить строки на сервер |
| Автор: Alex 31.1.2006, 21:05 |
| Akella обратился ко мне в привате и попросил помочь, как передать файл в ответ на запрос клиента, используя TStream. Я, думал все просто ведь примеров в сети навалом и до момента пока не попытался запустить все, что мне прислал Akella, что скорей всего человек просто забыл какой-то маленький момент и из-за этого ничего не работает. Но не тут-то было, Indy10 просто на отрез отказывалась работать по тем схемам, которые приведены для Indy9, точнее просто половина методов не оказалось у компонентов или входные параметры у обработчиков вообще оказались другого типа не как в Indy9. Бардак в общем полный, хорошо хоть у меня ни один проект не использует Indy и о чем только разработчики библиотеки думаю... Ладно, это все лирика пример передачи по SSL протоколу файла с сервера в ответ на запрос клиенту прикреплен к посту |
| Автор: Akella 1.2.2006, 09:33 |
| Дааааааааааааа Кто бы мог подумать, что именно так нужно.... я вообще слышу первый раз про TInStreamVCL |
| Автор: Akella 1.2.2006, 11:52 |
| А как быть с проксёй? А если сервер или клиент за прокси? |
| Автор: Romikgy 1.2.2006, 12:05 |
| Имхо только юзая TidHTTP там есть про проксю А это вооще, имхо , врядли досвистишься |
| Автор: Akella 1.2.2006, 12:37 |
| Протестировал с прокси, уже радует вообще-то оказалось и не нужно свистеть, видать Indy берут прокси по-умолчанию установленный в системе. Короче все работает без доп. телодвижений, только порты открыл в FireWall`е у себя и у сервера на той стороне "моря". |
| Автор: Akella 1.2.2006, 13:02 |
| Образщюсь к модераторам этого подфорума. Можно было бы топик Alex`а вставить в FAQ. Т.к. пока не было в рунете ответ на этот вопрос... |
| Автор: temp0001 7.5.2007, 11:35 |
| Здрасте всем. Стесняюсь спросить, а где взять TInStreamVCL? Ни в Гугле ни у себя на компе ни нашел ничего похожего. Всем спасибо. |
| Автор: temp0001 7.5.2007, 12:53 | ||||
| Эт снова я. По поводу передачи файлов через SSL. Не знаю актуально ли еще это тема, но поскольку класс TInStreamVCL я так и не нашел пришлось обхойтись тем что есть. Я нашел такое решение проблеммы. Взял код из стандартного примера к 10 индюхе, изменения выделенны жирным цветом. Код сервера.
Код клиента:
Вуаля. |
| Автор: temp0001 8.5.2007, 10:41 |
| Есть кто живой? А вот скажите INDY10 при передачи по SSL какой алгоритм симметричного шифрования использует? Кто-нибудь знает? Потому как 8 версия использовала что-то устаревшее типа RC4 (Во всяком случае при подклучении к серверу опера ругалась что подключение хоть и зашифровано, но, мол, не сильно обольщайтесь на этот счет). А к примеру из 10 версии опера вообще не хочет подключаться. Вроде где-то в отладчике на строке Chiper.Name в хинте всплыло AES 256, но можно ли этому верить? |