Est-il possible d'avoir un peer to peer communication en utilisant rien d'autre que PHP

StackOverflow https://stackoverflow.com/questions/1126217

  •  13-09-2019
  •  | 
  •  

Question

Est-il possible de mettre en œuvre un p2p en utilisant seulement PHP? Sans Flash ou Java et évidemment sans installer une sorte d'agent / client sur un de l'ordinateur.

même si elle pourrait ne pas être « vrai » p2p, mais il avait utiliser le serveur pour établir une connexion de quelque sorte, mais reste de la communication doit être effectuée à l'aide p2p

Je suis désolé pour un peu un manque de communication, par « php » je voulais dire pas un binaire php, mais un script php qui hébergé sur le serveur Web à distance des deux pairs, de sorte que chaque pairs ont rien d'autre qu'un navigateur.

Était-ce utile?

La solution

Non.

Vous pouvez écrire un client P2P / serveur en PHP - mais il devrait être installé sur les ordinateurs participants

.

Vous ne pouvez pas avoir PHP en cours d'exécution sur une cause de deux autres ordinateurs serveur Web pour communiquer entre eux sans avoir un logiciel de P2P installé.

Vous ne pouvez pas utiliser même JavaScript pour aider - la même politique d'origine empêcherait

.

l'exécution de JavaScript d'un navigateur pourrait utiliser un serveur basé sur PHP comme un intermédiaire pour que deux clients puissent communiquer -. Mais vous ne va pas atteindre P2P

Autres conseils

  

sans installer une sorte de   Agent / client sur l'ordinateur d'un

Chaque ordinateur devrait avoir les binaires PHP installés.

EDIT

Je vois dans un autre poste que vous avez mentionné par navigateur. Les restrictions de sécurité en javascript interdirait ce type d'interaction

Il est non théorique parce que l'application côté serveur (PHP) n'a pas accès au système de pairs qui est nécessaire pour définir les ports, les adresses IP, etc., afin d'établir une connexion socket.

AJOUT:

Mais si vous deviez aller avec PHP sur les serveurs Web de chaque pairs, qui peut vous donner ce que vous cherchez.

Ne pas la communication peer-to-peer implique que la communication va directement d'un client à l'autre, sans serveurs au milieu? Depuis PHP est un logiciel basé sur le serveur, je ne pense pas que tout programme que vous écrivez sur il peut être considéré comme vrai p2p.

Cependant, si vous souhaitez activer le client de communications client avec un serveur php comme l'homme du milieu, qui est certainement possible.

Cela dépend si vous voulez que le navigateur à envoyer des données sur cette application PHP.

Je l'ai fait bots IRC entièrement en PHP mais, ce qui a montré leur statut et leur sortie dans mon navigateur web de façon beaucoup comme mIRC. Je viens de définir la limite de délai d'attente à l'infini et connecté au serveur IRC en utilisant les sockets. Vous pouvez vous connecter à quoi que ce soit bien. Vous pouvez même faire écouter les connexions entrantes et les gérer.

Ce que vous ne pouvez pas faire est d'obtenir un navigateur pour garder une connexion bidirectionnelle sans rupture des demandes (pas encore ... de toute façon)

Non, pas vraiment. scripts PHP sont destinés à fonctionner que pour très peu de temps. Habituellement, le moteur d'exécution maximale par défaut est de deux minutes qui sera normalement pas assez pour la communication p2p. Après cela, le script sera annulé si l'administrateur du serveur peut désactiver cela. Mais même alors tout le temps de téléchargement de la connexion HTTP entre le serveur et le client doit être prise. Le navigateur du client affichera dans ce temps son indicateur de chargement de la page. Si la connexion breakes la plupart des serveurs Web tueront le script php donc le téléchargement p2p est annulée.

Il est possible de mettre en œuvre le protocole p2p, mais dans un scénario client / serveur que vous rencontrez des problèmes avec le modèle d'exécution des scripts php.

Oui, mais ce ne est pas ce qu'on appelle généralement p2p, car il y a un serveur entre les deux. Je sens bien que ce que vous voulez faire est d'avoir vos pairs communiquer entre eux, plutôt que d'avoir un lien direct entre eux sans serveur « intermédiaire » (qui est ce que l'on entend généralement par p2p)

En fonction des exigences d'évolutivité, la mise en œuvre ce type de communication peut être trivial (script de vote simple sur les clients), ou exigeant (serveur asynchrone comète).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top