![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
сокеты и браузер [D7, XP]
Fr © (2011-11-02 13:20:00)Есть приложение построенное на TServerSocket/TClientSocket. Возможно ли подключиться к сокету сервера из браузера (ИЕ, Опера, ...) и обмениваться информацией между браузером и сервером? Т.е. не имея программу-клиента, подключаться к серверу.
Fr (2011-11-19 13:08:00) [1]
> Сергей М. © (18.11.11 21:03) [17]
> Медвежонок Пятачок © (18.11.11 21:03) [18]
спасибо
Медвежонок Пятачок (2011-11-18 21:03:00) [2]определить что отправляет клиент можно чтением того, что отправляет клиент.
если конечно твой сервер не телепат.
Сергей М. (2011-11-18 21:03:00) [3]OnClientConnect - это всего лишь факт установки соединения, не более того.
А уж на каком языке клиент собрался говорить с сервером и собирался ли он вообще о чем-то говорить - об этом скажет событие OnClientRead
Fr (2011-11-18 17:10:00) [4]
> Dennis I. Komarov © (18.11.11 16:58) [15]
Так я и спрашиваю - в onClientConnect никак не определить что отправляет клиент: GET запрос или просто он подсоединяется без запроса?
Dennis I. Komarov (2011-11-18 16:58:00) [5]что такое: (браузер по http или другое приложение)?
Если как клиента ты используешь "браузер по http" то он отправит тебе GET запрос, но и "другому приложению" это сделать никто не запрещает.
А вообще "XYZ"
Fr (2011-11-18 16:37:00) [6]В продолжение темы...
Можно ли на стадии onClientConnect TServerSocket определить с помощью чего происходит соединение (браузер по http или другое приложение)?
Сейчас у меня в этом обработчике клиенту сразу отсылается SendText с инфой. И, если подключаться из браузера, то содержимое этого SendText отображается в браузере...
Dennis I. Komarov (2011-11-02 18:15:00) [7]
> Fr (02.11.11 13:20)
Скажи по-русски что тебе надо. А не рассуждай о возможных вариантах происхождения вселенной...
Сергей М. (2011-11-02 14:16:00) [8]
> браузером можно пользоваться только для огранниченных экспериментов
Чейто вдруг ?
Никто не ограничивает в возможности работы браузера с любыми протоколами.
Пишешь свою прокладку (или берешь готовую), регистрируешь как положено и работаешь прямо в браузере.
Сергей М. (2011-11-02 14:13:00) [9]
> Как это же сделать в браузере?
Не лезь в браузер, он и без тебя знает как и что сделать.
Твоё дело - запрограммировать прикладную логику серверного приложения в соответствии с протоколом someregisteredproto, который браузер будет использовать при навигации им URL someregisteredproto://somehost:someport
Очень Злой (2011-11-02 14:10:00) [10]А если ты пишень программу не работающую с поддерживаемыми браузером протоколами, то браузером можно пользоваться только для огранниченных экспериментов...
Если нужно что-то передавать и принимать, не привязанное к прикладным протоколам, которые поддерживает браузер, то лучше используй телнет-клиент
Очень Злой (2011-11-02 14:06:00) [11]
> Fr (02.11.11 13:45) [7]
>
>
> > Про что конкретно ?
>
> Про общение TServerSocket и браузера. Как передать, например,
> строку серверу и прочитать строку от сервера?
> Клиент использует для этого Socket.SendText() и Socket.ReceiveText.
> Как это же сделать в браузере?
Если, например, ты в своей программе будешь что-то слушать на 80 порту и браузере набрать http://127.0.0.1, то браузер подключится и передаст тебе http-запрос. А если ты в ответ на это ему передашь корректные с точки здения http-протокола данные, то он их примет, отобразит и отсоединится.
Anatoly Podgoretsky (2011-11-02 13:50:00) [12]> Fr (02.11.2011 13:45:07) [7]
TServerSocket + F1
Fr (2011-11-02 13:45:00) [13]
> Про что конкретно ?
Про общение TServerSocket и браузера. Как передать, например, строку серверу и прочитать строку от сервера?
Клиент использует для этого Socket.SendText() и Socket.ReceiveText. Как это же сделать в браузере?
Anatoly Podgoretsky (2011-11-02 13:45:00) [14]Про это - у Анфисы Чеховов
Сергей М. (2011-11-02 13:34:00) [15]
> в строке коннекта
имелось ввиду - в адресной строке браузера
Сергей М. (2011-11-02 13:33:00) [16]
> про это
Про что конкретно ?
Сергей М. (2011-11-02 13:33:00) [17]> каким образом?
Самым обычным - указанием в строке коннекта URL вида
someregisteredproto://somehost:someport
Fr (2011-11-02 13:29:00) [18]
> Подключайся на здоровье.
А каким образом? Где про это почитать можно?
Сергей М. (2011-11-02 13:22:00) [19]
> Т.е. не имея программу-клиента
Браузер и есть тот самый клиент.
Подключайся на здоровье.