Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

сокеты и браузер [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]


> Т.е. не имея программу-клиента


Браузер и есть тот самый клиент.
Подключайся на здоровье.


Наверх

Титульная страница Поиск, карта сайта Написать письмо