Salve,
Sto cercando di sviluppare una pagina php che comunica con programma scritto in c che gira su una macchina diversa dal server su cui si trova la pagina php. Su localhost sono riuscito a far andare tutto senza problemi, ma quando ho spostato la pagina sul web sono iniziati i problemi. In pratica la pagina inizia il caricamento e dopo qualche minuti mi chiede di scaricare lo script php.

Codice PHP:
<?php
        $host
=//mio ip
        
$port=10000;

        
$socket socket_create(AF_INETSOCK_STREAM0) or die("Could not create socket\n");
        echo 
"Tentativo di connessione a '$host' sulla porta '$port'...";
        
$result socket_connect($socket$host$port);
        
        if (
$result 0) {
           echo 
"socket_connect() fallito.\nMotivo: ($result) " socket_strerror($result) . "\n";
        } else {
           echo 
"OK.\n";
        }
        
$in "aumentapotenza";
        echo 
"Invio...";
        
socket_write($socket$instrlen ($in)) or die("Could not write output\n");

        echo 
"Chiusura del socket...";
        
socket_close($socket);
        echo 
"OK.\n\n";
?>
vi allego anche il codice c nel caso possa aiutarvi
codice:
#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
 
int main(int argc, char *argv[])
{
	int id;
	int SPORT = 10000;	// Porta TCP Server
	int server, client;
	struct sockaddr_in server_addr;
	struct sockaddr_in client_addr;
	int client_len = sizeof(client_addr), byte;
	char buffer[1000];
 
	//	Struttura con le informazioni sul server per effettuare il BIND
	server_addr.sin_family = AF_INET;
	server_addr.sin_port = htons((u_short) SPORT);
	//server_addr.sin_addr.s_addr = INADDR_ANY;
	server_addr.sin_addr.s_addr = inet_addr("mio ip");; 

	server = socket (AF_INET, SOCK_STREAM, 0);
	if (server < 0)
	{
		printf ("\n\n");
		perror (buffer);
		printf ("\n\n");
	}
 

	//	Il BIND associa al socket una porta
	bind (server,(struct sockaddr*)&server_addr,sizeof(server_addr));


	listen(server,1);

	while(1) {
	//	L'applicazione rimane in attesa di connessione
	client = accept (server,(struct sockaddr*) &client_addr, &client_len);
	

		if (client >= 0)
		{
			byte = recv(client,buffer,200,0);		
			buffer[byte] = '\0';
			printf("\n\nClient: %s \n\n\n",buffer);
		}
		else
		{
			perror (buffer);
		}
 	}
	//	Chisura socket
	close (client);
	close (server);
}