2009-07-14 1 views
0

Возможно ли реализовать p2p, используя только PHP? Без Flash или Java и, очевидно, без установки какого-либо агента/клиента на своем компьютере.Возможно ли иметь одноранговую связь, используя только PHP

так что даже если она не может быть «истинный» p2p, но было бы использовать сервер, чтобы установить соединение какого-то, но остальные коммуникации должны быть сделаны с помощью p2p

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

+0

Возможно, вы захотите объяснить немного больше, что вы подразумеваете под этим вопросом. Как вы хотите использовать php? С веб-сервером или автономным? Что должен делать пользовательский интерфейс? – txwikinger

+0

Да, некоторые разъяснения были бы хорошими. Я боюсь, что я получил ответ на вопрос, заданный OP, вместо вопроса, который они * подразумевали * (который был «Могу ли я реализовать браузер P2P-сервис, используя только PHP», на который, конечно, «нет»)? , – chaos

+0

Почему бы просто не использовать совместное использование файлов Opera Unite? http://unite.opera.com/service/132/ –

ответ

2

No.

Вы можете написать P2P клиент/сервер в PHP —, но он должен быть установлен на компьютерах.

У вас не может быть PHP, запущенного на веб-сервере, чтобы два других компьютера могли общаться друг с другом без установки программного обеспечения P2P.

Вы не можете использовать JavaScript, чтобы помочь — такая же политика происхождения предотвратит это.

JavaScript, работающий в браузере, может использовать сервер на PHP как посредник, чтобы два клиента могли связываться —, но вы не достигнете P2P.

+1

Почему бы не попробовать WebRTC? peer.js – CMCDragonkai

0

Не означает, что связь между одноранговыми узлами подразумевает, что связь идет напрямую от одного клиента к другому, без каких-либо серверов посередине? Поскольку PHP является серверным программным обеспечением, я не думаю, что любая программа, которую вы на ней пишете, может считаться истинным p2p.

Однако, если вы хотите включить взаимодействие клиента с клиентом с php-сервером как средний человек, это определенно возможно.

+0

Вниз для ложной информации. PHP не основан на сервере. –

+1

Хотя для запуска PHP-скриптов локально вам понадобится установить интерпретатор PHP, и если OP не хочет устанавливать Flash или Java, я сомневаюсь, что они захотят установить PHP локально – chrisbunney

1

без установки какой-то агента/клиента на своей компьютере

Каждый компьютер должен иметь PHP двоичные файлы установлены.

EDIT

я вижу в другом посте вы упомянули браузер на основе. Ограничения безопасности в javascript запрещают этот тип взаимодействия

0

В зависимости от того, хотите ли вы, чтобы браузер отправлял данные в это приложение PHP.

Я сделал IRC-ботов полностью на PHP, хотя они отображали свой статус и вывод в моем веб-браузере так же, как mIRC. Я просто установил ограничение тайм-аута на бесконечность и подключился к IRC-серверу с помощью сокетов. Вы могли бы подключиться к чему угодно. Вы даже можете заставить его слушать входящие соединения и обрабатывать их.

То, что вы не можете сделать, чтобы получить браузер, чтобы сохранить двухстороннее соединение без разрыва запросов (пока не в любом случае ...)

0

Нет, не совсем. PHP-скрипты предназначены только для очень небольшого количества времени. Обычно максимальная продолжительность выполнения по умолчанию - две минуты, которых обычно недостаточно для связи p2p. После этого сценарий будет отменен, хотя администратор сервера может его отключить.Но даже тогда все время загрузки HTTP-соединения между сервером и клиентом должно быть удержано. В это время браузер клиента покажет индикатор загрузки страницы. Если соединение нарушит большинство веб-серверов, он убьет скрипт php, поэтому загрузка p2p будет отменена.

Возможно, возможно реализовать протокол p2p, но в сценарии клиент/сервер вы столкнетесь с проблемами с моделью исполнения php-скриптов.

0

Да, но это не то, что обычно называется p2p, так как между ними есть сервер. У меня есть чувство, что то, что вы хотите сделать, - это общение ваших коллег друг с другом, а не прямая связь между ними без сервера «посредника» (что обычно означает p2p).

В зависимости от того, по требованиям к масштабируемости реализация такого рода сообщений может быть тривиальной (простой сценарий опроса на клиентах) или требовать (асинхронный кометный сервер).

1

Это не теоретическое, потому что приложение на стороне сервера (PHP) не имеет доступа к сети, который требуется для определения портов, IP-адресов и т. Д., Чтобы установить соединение сокета.

Сложение:

Но если вы должны были пойти с PHP в веб-серверах, каждый узел, в который может дать вам то, что вы ищете.

 Смежные вопросы

  • Нет связанных вопросов^_^