E 'possibile avere una comunicazione peer to peer utilizzando nient'altro che PHP

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

  •  13-09-2019
  •  | 
  •  

Domanda

E 'possibile implementare un p2p utilizzando solo PHP? Senza Flash o Java e, ovviamente, senza installare un qualche tipo di agente / client sul proprio computer.

quindi, anche se potrebbe non essere "vera" p2p, ma sarebbe utilizzare il server per stabilire la connessione di qualche tipo, ma resto della comunicazione deve essere fatta tramite p2p

Mi scuso per poco cattiva comunicazione, da "php" Io non intendevo un binario php, ma uno script PHP che ha ospitato sul server Web remoti, da entrambi i peer, in modo da ogni peer non hanno nulla, ma di un browser.

È stato utile?

Soluzione

No.

Si potrebbe scrivere un client / server P2P in PHP - ma avrebbe dovuto essere installato sui computer che partecipano

.

Non si può avere PHP in esecuzione su un server web causa altri due computer di comunicare tra loro senza dover installare software di P2P.

Non si può nemmeno usare JavaScript per aiutare - la stessa politica di origine sarebbe evitare che

.

JavaScript in esecuzione di un browser potrebbe utilizzare un server basato su PHP come un intermediario in modo che due clienti potessero comunicare -., Ma non si ha intenzione di raggiungere P2P

Altri suggerimenti

  

senza installare un qualche tipo di   agente / client su di un computer

Ogni computer dovrebbe avere i binari PHP installati.

Modifica

vedo in un altro posto che lei ha citato basato su browser. restrizioni di sicurezza in javascript sarebbe vietare questo tipo di interazione

E 'non teorico perché applicazione lato server (PHP) non ha accesso al sistema del peer che deve definire le porte, indirizzi IP, ecc, al fine di stabilire una connessione di socket.

AGGIUNTA:

Ma se si dovesse andare con PHP nel server web di ogni peer, che può darti quello che stai cercando.

Non peer-to-peer implica che la comunicazione sta andando direttamente da un client all'altro, senza alcun server nel mezzo? Dal momento che PHP è un software basato su server, non credo che qualsiasi programma che si scrive su di esso può essere considerato vero p2p.

Tuttavia, se si desidera attivare il programma e comunicazioni client con un server PHP come l'uomo medio, che è sicuramente possibile.

Dipende se si desidera che il browser per l'invio dei dati a questa applicazione PHP.

Ho fatto bot IRC interamente in PHP, però, che ha mostrato il loro status e l'uscita sul browser Web in un modo molto simile a mIRC. Ho appena impostato il limite di timeout di infinito e connesso al server IRC con i socket. Si potrebbe connettersi a nulla però. Si può anche fare ascoltare per le connessioni in entrata e li gestisce.

Quello che non si può fare è quello di ottenere un browser per mantenere una connessione bidirezionale senza spezzare le richieste (non ancora comunque ...)

No, non proprio. script PHP sono pensati per funzionare solo per quantità molto piccola di tempo. Di solito il tempo di esecuzione massimo predefinito è di due minuti che sarà normalmente non è sufficiente per la comunicazione p2p. Dopo questo lo script verrà annullata se l'amministratore del server può disattivare questo. Ma anche allora tutto il tempo di scaricamento della connessione HTTP tra il server e il client deve essere attesa. browser del client viene visualizzato in questo tempo il suo indicatore di caricamento della pagina. Se la connessione breakes maggior parte dei server web uccideranno lo script php in modo il download p2p viene annullata.

Così può essere possibile implementare il protocollo p2p, ma in uno scenario client / server a cui si incorrere in problemi con il modello di esecuzione di script PHP.

Sì, ma non è ciò che è generalmente chiamato p2p, poiché non v'è un server in mezzo. Ho la sensazione però che ciò che si vuole fare è di avere i vostri coetanei di comunicare tra loro, piuttosto che avere una connessione diretta tra di loro senza alcun server 'intermediario' (che è ciò che normalmente s'intende per p2p)

A seconda dei requisiti di scalabilità, l'implementazione di questo tipo di comunicazione può essere banale (semplice script polling sui client), o chiedendo (server cometa asincrona).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top