I created a WebSocket server using php, named server.php. Code to create socket in server.php:
$address = "127.0.0.1";
$port = 5000;
$max_clients = 10;
if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg
");
}
if( !socket_bind($sock, $address , 5000) )
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not bind socket : [$errorcode] $errormsg
");
}
echo "Socket bind OK
";
if(!socket_listen ($sock , 10))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not listen on socket : [$errorcode] $errormsg
");
}
echo "Socket listen OK
";
I also have a client to test, it's named client.php. Code to connect to server in localhost:
if(!($sock = socket_create(AF_INET, SOCK_STREAM, 0)))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Couldn't create socket: [$errorcode] $errormsg
");
}
echo "Socket created
";
//Connect socket to remote server
if(!socket_connect($sock , '127.0.0.1' , 5000))
{
$errorcode = socket_last_error();
$errormsg = socket_strerror($errorcode);
die("Could not connect: [$errorcode] $errormsg
");
}
echo "Connection established
";
I tested client on localhost and it worked. But now if I have a remote host called abc.com, then upload the server.php file to it, which address should I pass in socket_connect() function in client.php and also $address in server.php too? Moreover, how can I make the server (abc.com/server.php) run 24/24 so everyone using client.php can connect at anytime they want?