-
Connessione fsockopen()
Sul forum ho necessità di eseguire delle connessioni di questo tipo in modo da mandare notifiche sul server minecraft dei messaggi nuovi inseriti sul forum
Codice PHP:
public function __construct($host, $port = 25667)
{
$this->host = $host;
$this->port = $port;
}
/**
* Connects to a Websend server.
*/
public function connect($password)
{
$this->stream = fsockopen($this->host, $this->port);
$this->writeRawByte(21);
$this->writeString($password);
}
Da quello che ho capito leggendo altre discussioni non è possibile utilizzare queste connessioni su altervista per tanto ho provato ad inserire la funzione di connessione al server MC su un altro hosting senza limitazioni di connessione fsockopen() e ad inserire un include esterno tipo
Codice PHP:
include_once 'http://pincopallino.com/funzioni/websend.php
ma anche così sembra ci siano delle limitazioni.
Si accettano anche proposte alternative alle due tentate da me senza successo
Grazie.
-
Includere un file in quel modo non è possibile: non puoi includere file php esterni in quel modo, anche perché altrimenti potresti invocare qualsiasi funzione di qualsiasi sito.
Potresti però utilizzare quella tua pagina da "tramite": su altervista è possibile utilizzare la fsokopen(), ma non in quella porta che serve a te.
Quindi potresti utilizzare la fsokopen() mandando un segnale ad uno script (pagina) che sta nell'altro server, il quale lo inoltrerà al server di minecraft.
Per ora non mi è venuto in mente niente di meglio.
Ciao!
-
ti ringrazio intanto per la rapida risposta,
mi viene solo un dubbio su come poter fare a comunicare sull-altro sito utilizzando la porta 80...
p.s. la procedura di sblocco la ho gia eseguita tramite sms
potresti farmi un esempio anche banale giusto per capire come procedere?
grazie
ciao
-
Abbiamo 3 "cose":
- Server minecraft (porta 25667)
- Hosting "pincopallino.com/inoltro.php" (porta 80 [standard] e 25667)
- altervista (porta 80)
Vorresti mandare un "messaggio" da altervista al server di minecraft.
Da altervista, parte il messaggio a "pincopallino.com/inoltro.php tramite la 80. Ad esempio:
Codice PHP:
<?php
$messaggio = 'messaggio=testo di prova';
$sito = 'pincopallino.com';
$sottopagina = '/inoltro.php';
if (!($sock = fsockopen($sito,80))) die ("Errore connessione\n");
fputs ($sock,
"POST ".$sottopagina." HTTP/1.1\r\n".
"Host: ".$sito."\r\n".
"Content-Type: application/x-www-form-urlencoded\r\n".
"Content-Length: ".strlen($messaggio)."\r\n".
"Connection: close\r\n\r\n".
$messaggio."\r\n");
?>
Quindi, la pagina "inoltro.php" prenderà il messaggio inviato da altervista e lo rispedrà al server mc:
Codice PHP:
<?php
if(isset($_POST['messaggio']))
{
//altra fsokopen alla porta 25667 con il messaggio $_POST['messaggio']
}
?>
Ciao!
-
Grazie per l'aiuto funziona alla perfezione!!!
Ciao