![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Народ, подскажите кто знает:
Есть клиент на яве. Он посылает серверу запрос и ждет ответ. Это его обычный режим работы. Но возникает ситуация, когда сервер присылает сообщение для клиента. Как обработать такой вариант? Я так полагаю, необходимо реализовать процесс "прослушивания" сокета. Но он не должен считывать с него данные (?) Во фре есть такая замечательная вещь как kevent() & kqueue() Интересно, может подобные механизмы есть и на яве -------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Хмм... А что если взять из сокета инпут стирим и проверять available()?
|
|||
|
||||
| Angie |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 23 Регистрация: 12.7.2003 Репутация: нет Всего: нет |
Сокет TCP или UDP? Мне тоже пришлось столкнуться с такой проблемой. Один из выходов: ставь receive() и все. Т.е. без send(). Выходит, что клиент все время ожидает сообщения. А чтоб не висело -- все это счастье в отдельный процесс.
|
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Сокет tcp. Я вот тут посмотрел, есть метод ready() Может он спасет отца русской демократии... Надо будет протестить. НО! Если у кого еще какие полезные мысли есть - то плиз сюда.
-------------------- |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
Да, и еще: Если не сложно, киньте пример как сделать отдельный процесс?
Для этого надо набросать какой нить класс, который будет наследником какого нить Thread? А потом что? -------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Делаешь наследником от тред... Переопределяешь метод run() так чтобы оттуда шла основная работа (пока он работает - работает тред... если нужно чтобы тред постоянно висел - можно бесконечный цыкл вставить
а потом в основной программе делаешь thread.start(). Могу более подробный пример дать, если нужно |
|||
|
||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
-------------------- |
|||
|
||||
| DarkDS |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Ушло.
Кстати... Сорри... Не правльно сказал - класс должен быть наследован от Runnable Пример:
. а запускать:
Более подробно - смотри в присланном файле Это сообщение отредактировал(а) DarkDS - 2.8.2003, 13:33 |
||||
|
|||||
| Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: 3 Всего: 6 |
-------------------- |
|||
|
||||
| DarkDS |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 748 Регистрация: 6.5.2003 Где: Таллинн, Эстония Репутация: 11 Всего: 16 |
Ушло-2
Это сообщение отредактировал(а) DarkDS - 4.8.2003, 09:15 |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |