|
Использование сокетов на Php, вопрос для профиОбсуждение темы Использование сокетов на Php, вопрос для профи в разделе HTML, CSS, JavaScript, часть категории ВЕБ-ПРОГРАММИРОВАНИЕ; Привет Всем! Кто ни будь, использует сокеты на своих серверах средствами PHP? Если да, то помогите пожалуйста написать скрипт слушатель - обработчик сокета! ... |
|
Опции темы |
18.05.2004, 14:25 | #1 |
|
Привет Всем!
Кто ни будь, использует сокеты на своих серверах средствами PHP? Если да, то помогите пожалуйста написать скрипт слушатель - обработчик сокета! Нужно реализовать такую схему: прога Клиент1 <-> прога Клиент2 через сервер. В качестве клиентского приложения выступает аплет на Java. В качестве слушателя на сервере PHP скрипт. P/S Вся эта схема легко реализуется, если б мой хостер поддерживал JavaServlet. (но увы) Но я так думаю, что не должно быть принципиальных сложностей в реализации данной схемы средствами PHP (или может Perl-a - в нем еще не разбирался) – ведь чаты пишут, и не плохие |
|
19.05.2004, 16:21 | #2 |
|
Не понял. Задача - обратиться с сервера к клиенту?
Если пишешь чат, лучше сделать автообновление окна раз в 20 (30, 50, нужное подчеркнуть) секунд. Это рациональнее, и использутеся везде, если ты видел. Для того, чтобы PHP выполнился, к нему должен обратиться клиент. Это либо юзер, либо Cron или что-то подобное. Объясни задачу конкретнее. |
|
19.05.2004, 16:32 | #3 |
|
Leek, ну вот для примера:
Пользователь отправляет сообщение другому пользователю через сервак в режиме он-лайн. сокеты позволяэт это зделать, т.е. они устанавливают канал на чтение и запись. А чаты работаю по оффлайн принцыпу почты. а если к примеру мне необходимо большие данные передовать от клиента к клиенту, то тогда трафик жратся и сервак напрягатся будет. Все это реально реализовать по средствами JavaServleta там на серваке вешается слушатель, к которому устанавливатеся соединение средстваки socket, и в режиме реально времени можно передовать данные запрашивать он-лайн и т.п. а делать обновление с интервалом это на уровне чата, не более |
|
20.05.2004, 10:56 | #4 | |
|
Ты трансфер пишешь?
Цитата:
То, что ты пытаешься сделать, называется "поменять местами сервер и клиент". И тут дело не в сервлетах. У клиента должен быть окрыт порт для входящих соединений. А коннектиться куда? Через браузер - не выйдет. Нужен ActiveX или другое клиентское приложение. |
|
|
20.05.2004, 11:01 | #5 |
|
Leek, яж говорю, что в качестве клиента выступает Java.
|
|
20.05.2004, 23:18 | #6 | |
|
Цитата:
Ладно, хрен с ними. Работа с сокетами в PHP аналогична работе с файлами. Только вместо fopen() используется fsockopen() int fsockopen(string target, int port, [int errno, [string errstr, [float timeout]]]) А дальше пишешь как в файл (fputs()) обычные HTTP-запросы. |
|
|
21.05.2004, 08:53 | #7 |
|
Leek, но я так понимаю, что в данном случае возможно активным держать только одно соединение (если так, то не подходит, мне ведь необходимо больше).
Все это мне нужно чтоб пользователи могли играть в он-лайн игрушки между собой. Кстати на счет чата, я уже его написал, вчера запустил, работает в тестовом режиме Чат и игра в одном флаконе |
|
21.05.2004, 18:52 | #8 |
|
Активных соединений можно держать сколько угодно. Для того, чтобы PHP узнал, куда посылать, твоя Java должна инициализироваться. В этот момент создается отдельный поток (копия), происходящее в котором никого не касается. Все коннекты, открытые в нем, доступны только ему, равно как и ему не доступны чужие коннекты. Т. о. ничто не мешает тебе открывать любое число коннектов из разных копий скрипта.
|
|
24.05.2004, 09:12 | #9 |
|
Leek, на стороне java мне все понятно, а вот было бы не плохо посмотреть реализацию данной схемы, у тебя случаем нет какого нибудь исходника, а то в инете че то не нашел (хотя может быть плохо искал)
|
|
24.05.2004, 11:24 | #10 |
|
Какого-нибудь исходника у меня нет. Но ты сможешь написать, если тебе нужно. Просто не уставай спрашивать. Реализация данной схемы зависит от компонента, работающего от клиента (в твоем случае это апплет). Какие команды он будет обрабатывать, такие ему и посылать надо.
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Использование формата GIF | kintel | Растровая графика | 2 | 09.05.2016 20:23 |
HTML-тег <keygen> и его использование | Sapper | ASP, Perl, PHP и MySQL | 0 | 22.05.2014 07:49 |
Использование чужого TITLE | bart | Кальянная | 5 | 25.05.2009 00:05 |
Использование шрифта Myriad Pro | Fred_Bulsara | HTML, CSS, JavaScript | 4 | 12.07.2007 21:09 |
Использование Javascript ? | NoX-XoN | HTML, CSS, JavaScript | 10 | 13.03.2005 02:56 |
Реклама на форуме
Условия размещения рекламы
Биржа ссылок
Заработай на сайте!
|