Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> обмен данными между двумя запущенными скриптами 
:(
    Опции темы
Viroman
Дата 22.7.2009, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Здравствуйте дорогие форумчане!

У меня возник вопрос, необходимо между двумя запущенными скриптами создать обмен информацией. Каким образом это можно реализовать не прибегая к сокетам, поскольку на конечном сервере сокетные пхп соединения запрещены, и как это сделать не прибегая к обмену через файлы, и коль уже нельзя иначе, чем ререз файлы, как сделать так, чтобы скрипт реагировал только тогда, когда в файле новые данные поступили.
Есть ли идеи реализации? Буду очень прекрайне благодарен за наводку.

Далее вопрос номер два, скрипт подаёт данные на скачку, предположим какой нибудь файл, мне очень крайне важно контроллировать скорость этой передачи, чтобы та не превышала опеределённого значения заданного мною. Можно ли и это сделать? Именно скажем, чтобы данные не поступали быстрее одного байта в секунду, предположим. И за решение этой задачи буду прекрайне благодарен.
PM MAIL   Вверх
skyboy
Дата 22.7.2009, 20:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 1
Всего: 260



вопрос об ограничении скорости отдачи вынеси в новую тему. 
обсуждение двух вопросов в одной теме - это будет бардак.

PM MAIL   Вверх
MoLeX
Дата 23.7.2009, 05:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 0
Всего: 140



Цитата(Viroman @  22.7.2009,  15:15 Найти цитируемый пост)
У меня возник вопрос, необходимо между двумя запущенными скриптами создать обмен информацией.

скрипты запущены на одном домене? или же вообще на разный хостинг-площадках?


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
nerezus
Дата 24.7.2009, 05:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Цитата

не прибегая к сокетам, поскольку на конечном сервере сокетные пхп соединения запрещены
 Купить платный хостинг.

Цитата

Можно ли и это сделать? 
 Да. Паузами.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Viroman
Дата 25.7.2009, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет




Цитата

скрипты запущены на одном домене? или же вообще на разный хостинг-площадках? 

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

Цитата

Купить платный хостинг.

Плохой совет, ещё идеи?


Цитата

 Да. Паузами. 

Но паузами будет ведь не совсем то, или? Какой это контроль за скоростью, если данные будут рывками передаваться, но с полной скоростью.
PM MAIL   Вверх
Mal Hack
Дата 25.7.2009, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Viroman @  22.7.2009,  16:15 Найти цитируемый пост)
как сделать так, чтобы скрипт реагировал только тогда, когда в файле новые данные поступили.

Смотрите в область Семафоров и мютексов (этого в пхп нет, придется самому реализовывать).
http://ru2.php.net/manual/en/book.shmop.php
http://ru2.php.net/manual/en/book.sem.php

Естественно работает только в пределах одного хостинга, я думаю, что даже и при одном пользователе.

Цитата(Viroman @  22.7.2009,  16:15 Найти цитируемый пост)
и как это сделать не прибегая к обмену через файлы,

В PHP никак, т.к. доступ к другим ресурсам напрямую, как пямять, у PHP закрыт.


Это сообщение отредактировал(а) Mal Hack - 25.7.2009, 14:15
PM ICQ   Вверх
ksnk
Дата 25.7.2009, 14:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 1
Всего: 386



Viroman, О каких скоростях/реактивностях обмена информацией идет речь? Чем не устраивают простые реализации chat'ов?
Все, что немного посложнее/побыстрее/пореактивнее - требует открытых портов и отдельного гемороя с настройкой соответствующего софта.

Для частной задачи общения специально подобранных юзеров можно написать Java аpplet, ActiveX или еще какую фенечку...


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Viroman
Дата 25.7.2009, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Ладно, фиг с ним со скоростью, не так страшно, если по байту отдавать на растяжении определённого времени. А вот обмен между скриптами нужно сделать не только для одного юзверя, а доступным для всех, как при случае записи в файл. Конечно можно постоянно чекать дату последнего изменения файла, но не будет ли это слишком накладно, если один и тот же скрипт запущенный тысячью пользователями будет проверять изменение какого либо файла, пусть хоть и не одного файла, а разного, но тем не менее.
PM MAIL   Вверх
Mal Hack
Дата 25.7.2009, 23:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Viromanksnk, вы мой пост видели? 
PM ICQ   Вверх
Viroman
Дата 26.7.2009, 00:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Mal Hack, спасибо большое, буду разбираться, единственное что пока хотелось бы, это простите за наглость, именно пример такого использования. Я конечно понимаю, если самому велосипед изобретать, но надеялся на пример готовой реализации. Спасибо большое, я буду разбираться.
PM MAIL   Вверх
Mal Hack
Дата 26.7.2009, 01:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Примера дать не могу, т.к. сам такую реализацию на PHP не писал.
Глобально, смысл такой. Что юзайте shared memory по аналогии с общим файлом. Тут проблем быть не должно.
Что касается симафоров и мьютексов, то тут надо "вкуривать". Неплохой пример объяснения что это вообще - тут: http://doc.trolltech.com/4.5/threads-semaphores.html, правда не на PHP.
Про мьютексы тамже.
PM ICQ   Вверх
xZ0RGx
Дата 28.7.2009, 05:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 44
Регистрация: 5.6.2009

Репутация: нет
Всего: нет



Скорость надо файрволлом шейпить, а не на PHP. smile

А относительно обмена могу предложить только не лучший вариант с БД.
PM MAIL   Вверх
IZ@TOP
Дата 31.7.2009, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 1
Всего: 73



Цитата(Viroman @  25.7.2009,  15:08 Найти цитируемый пост)
Цитата

Купить платный хостинг.

Плохой совет, ещё идеи?


Отличный совет. Решает сразу и второй вопрос.

Цитата(Viroman @  25.7.2009,  15:08 Найти цитируемый пост)
Цитата

 Да. Паузами. 

Но паузами будет ведь не совсем то, или? Какой это контроль за скоростью, если данные будут рывками передаваться, но с полной скоростью. 


Купить платный хостинг. Ограничить скорость на уровне системы. А вообще зависит от способа, которым Вы реализуете "общение" между процессами.

Если у вас там, как говорите, тысячи клиентов онлайн - неужели не будет средств на выделенный сервер? Или Вы очередной халявщик, желающий сэкономить как можно больше копеек?

Как вариант дешевого способа решения задачи (хотя не много не оптимального), могу посоветовать SOAP.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
nerezus
Дата 31.7.2009, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: нет
Всего: 43



Автор теоретик просто.
Ну не знает, что нельзя 1k видео онлайн на фри хостинге сделать)


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
Viroman
Дата 3.8.2009, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Цитата

Отличный совет. Решает сразу и второй вопрос.

Ни первый, ни второй, никакой вопрос это не решает, у меня и так платный хостинг. Знаю, что его можно сменить, но я может это смогу сделать, а второй, третий жаждущий итп, нет.


Цитата

Автор теоретик просто.
Ну не знает, что нельзя 1k видео онлайн на фри хостинге сделать) 

Оголтелые советы и я умею также бездумно раздавать. Однако мне не факт, был задан вопрос, не было толкового ответа, просто всегда исхожу из того,  что кто то о чём то может знает больше, чем я, а то что не сложилось иначе, реалии жизни однако.  smile 

Цитата

Скорость надо файрволлом шейпить, а не на PHP. smile

А относительно обмена могу предложить только не лучший вариант с БД. 

Не вопрос, чем надо шейпить, а что возможно, надо будет, можно и копытами шейпить, однако не решение. 
Насчёт БД, вот представьте ситуёвину.

Два физических клиента стучатся на внешний php скрипт(находящийся на одном и том же хостинге), стучатся они на неопределённое время, один стучится с намерением аплоадить, то есть посылает на вызванный скрипт нескончаемое количество информации, которая поступает время от времени(рывками, а может залпом, неважно, но постоянно, при этом максимальное время работы скрипта упускаем пока из виду, представим, что оно бесконечно), а другой наоборот, стучится к скрипту с намерением скачать с этого скрипта. Моя задача сконнектить этих двух индивидов так, чтобы у того, который информацию аплоадит, другой эту информацию забирал. По сути unixовые файл сокеты, это то, что нужно, то бишь мне не надо порт открывать(ибо как известно, их количество всё таки ограничено), и по сути можно совершать действия по мере поступления данных, то есть мне по сути не надо постоянно отпрашивать через скрипт, поступили ли новые данные или нет, за меня это сделает система, но загвоздка, даже платные хостинги не всегда любят сокетные соединения разрешать, вот поэтому и спрашивал, а что ещё возможно, может даже через обычные файлы, но с намёком на изменения в файле.
Вот было названо очень умное решение с шарингом памяти, очень заслуживающее внимания идея, только как там реализовать сокетное поведение, чтобы скрипт забирал данные именно по мере их поступления, а не постоянно отпрашивал в цикле, а не поступили ли новые данные? В общем такие вот дела. Да, я знаю, что это мои теории, предположения, как лучше сделать, чтобы не изобретать велосипед по новой, но судя по всему сознание отвечающих ограничено фразами о покупке платного хостинга, толковые мысли тяжело выудить.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.1473 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.