запрос от сервера к броузеру?

Stur

Guest
запрос от сервера к броузеру?

Скажите, может ли сервер самостоятельно инициализировать обемен данными с броузером. Может быть для этого надо использовать сокеты? Вообще какие-то варианты есть?
 

HabaHaba

Новичок
По моему, самый простой вариант это сделать невидимый фрэйм-обработчик и постоянно рефрэшить его.
 

tony2001

TeaM PHPClub
при этом все равно _браузер_ будет каждую минуту опрашивать сервер, а не наоборот.
на то он и есть клиент, чтобы спрашивать сервер.
 

Stur

Guest
А зачем тогда нужны эти сокеты? Ведь там же есть функции чтения\записи, подключился к нужному порту создал сокет и пиши туда чего хочеш.
Так что, начальник, может все таки можно.
 

tony2001

TeaM PHPClub
>А зачем тогда нужны эти сокеты? Ведь там же есть функции чтения\записи,
>подключился к нужному порту создал сокет и пиши туда чего хочеш.
сэр различает СЕРВЕР и КЛИЕНТ ?
сервер - слушает порт все время.
клиент открывает сокет и шлет в порт данные.
не дошло?

объясняю:
какой порт слушает твой браузер и как сервер(точней, скрипт на нем, который выполняет роль клиента) должен узнать куда коннектиться?
теперь дошло?
 

Stur

Guest
Только не предлагайте варианты с автаматическим рефрешем чего нибудь со стороны клиента. Мне нужно получить именно обратный процесс.
Может под это дело можно пристроить
<OBJECT data="????--- мда :( пока дальше не придумал.
А ну, кто хорошо разбирается с этими объектами, сполшной темный лес какойто.
 

Linker

Guest
Stur:

Мало-ли чего кому нужно?
Написано же что нельзя!!!
Или всем нельзя, а тебе одному можно?
 

Stur

Guest
Для чего оно мне надо это военная таяна.

>какой порт слушает твой браузер и как сервер(точней, >скрипт на нем, который выполняет роль клиента) должен >знать куда коннектиться?
>еперь дошло?
Выше сказанное я понял так: Апаче слушет всегда порт 80 (это всем известно), а вот какокй порт слушает броузер на стороне клиента неизвестоно. И вот от этой самодеятельности проистекает весь облом?
 

Stur

Guest
Ага! , значит таварищь Linker что-то скрывает от нас.
Ну нам деватся некуда поэтому по секрету скажу - ХОЧУ НАПИСАТЬ ИГРУШКУ ONLINE. Только ты, никому неговори, пожалуста.
 

HabaHaba

Новичок
По поводу сокетов.
Есть такое понятие как сигналы и события.
В принципе, на открытом клиентском сокете появится сигнал того, что сервер что то в сокет написал и этот сигнал возможно получить.
В дельфи, это, например событие OnRead объека TClientSocket.
Алгоритм реализации такого дела примерно такой:
1. Открыть сокет
2. Слушать/ Заснуть
3. Услашать/Проснуться
НО, нужно учитывать, что клиент должен всё это время находится в активном состоянии. То есть, программа должна работать а не прекратить свою работу, как это происходит обычно в случае с PHP скриптом.
Я давно не писал на PHP, может быть в PHP что-нибудь здорово изменилось за год-полотора?
Но по моему, лучше тебе описать свою задачу, может ты слишком усложняешь себе жизнь?
 

Stur

Guest
Все!!! Мое терпение закончилось, больше я не могу скрывать эту тайну. Я ХОЧУ НАПИСАТЬ ШАХМАТЫ.
Ну вот и представте себе, мой противник обдумавает ход так это ж процес длинной уходящий в бесконечность. И все это время мой браузер, как попугай, должен спрашивать "Ну что, ты уже походил. 10 сек.___Ну что, ты уже походил. 10 сек. и т.д.
А если таких попугаев 20-30 то товарищь Хостер начнет волноватся, да и вообще как-то некрасиво получается.
 

slach

Новичок
Stur

данные передаются на сервер
сервер передает данные на другой клиент...

клиент пишется на JS (DHTML) с использованием компоненты XMLHTTP ...

либо пиши на Java но тогда нужен будет Direct Connect
 

Altex

Новичок
Изучай JAVA2. Закачивается апплет, действуя как интерфейс сервлета, и все нормально, постоянно поддерживается коннект. Ну посмотри как на других игровых сатах сделано!
 

Фанат

oncle terrible
Команда форума
На самом желе он пишет комбатс.ру, но мы никому не скажем :)

А у других людей попугаи прекрасно работают, и хостер такой нервный - только у тебя.
 

HabaHaba

Новичок
1. Товарищь хостер забеспокоится, только в случае если у тебя будет не 20-30 попугаев одновременно а 200-300 (я так думаю).
2. Нагрузка на сервер - проверить какой-нибудь флажек раз в 10 секунд от каждого клиента, это не нагрузка.

Таки мне думается, что выдумыванием нового велосипеда ты себе только жизнь усложнишь и погубишь свой проект.
Лучше используй невидимый фрэймик который будет проверять состояние хода.
 

Фанат

oncle terrible
Команда форума
Кстати, начет коннектов.
Наш наивный друг думает, что когда у сервера запрашивают обычныю страницу (ну например - этого форума), то коннект с сервером происходит ОДИН ;-)
 

Stur

Guest
Так по вашим скептическим напутствиям я понял, что эта тайяна так просто не отдается.
У кого есть толковые матерьялы на русском по сокетам кидате сюда или на мыло (манул не надо, уже есть).
А также информация по HTML элементу
<object datat="..." type="..."></object>
заранее спасибо.
мыло -
[email protected]
 
Сверху