server
PHP
// server
// Set the error handling
Error_Reporting (E_ALL);
// Set the run time
Set_time_limit (0);
//
OB_IMPLICIT_FLUSH ();
$ IP = "127.0.0.1"; // IP address
$ port = 1000; // port number
$ socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // Create a Socket
IF ($ socket)
echo "socket_create () successed! / n";
Else
Echo "socket_create () failed:". Socket_stroRROR ($ socket). "/ n";
$ bind = socket_bind ($ socket, $ IP, $ port); // Bind a socket
IF ($ bind)
echo "socket_bind () successed! / n";
Else
echo "socket_bind () failed:". Socket_stroRROR ($ bind). "/ n";
$ listen = socket_listen ($ socket); // Listen to Socket
IF ($ listen)
echo "socket_listen () successed! / n";
Else
echo "socket_listen () failed:". Socket_strerror ($ listen). "/ n";
While (True)
{
$ msg = socket_accept ($ socket); // Accept a socket
IF ($ msg)
{
echo "socket_accept () failed:". Socket_strerror ($ msg). "/ n";
Break;
}
$ Welcome = "Welcome to PHP Server! / N";
Socket_Write ($ MSG, $ Welcome, Strlen ($ Welcome);
While (True)
{
$ comMMAND = Strtoupper (Trim (Socket_read ($ MSG, 1024)))
IF (! $ commman)
Break;
Switch ($ Command)
{
Case "Hello":
$ Writer = "Hello Everybody!";
Break;
Case "quit":
$ Writer = "BYE-BYE";
Break;
Case "Help":
$ Writer = "Hello / Tquit / Thelp";
Break;
DEFAULT:
$ Writer = "Error Command!";
}
Socket_Write ($ MSG, $ Writer, Strlen ($ Writer);
IF ($ comMMAND == "quit")
Break;
}
Socket_close ($ msg);
}
Socket_close ($ socket); // Close Socket
?>
Client
PHP
// client // set error handling
Error_Reporting (E_ALL);
// Set processing time
Set_time_limit (0);
$ IP = "127.0.0.1"; // IP address
$ port = 1000; // port number
$ socket = socket_create (AF_INET, SOCK_STREAM, SOL_TCP); // Create a Socket
IF ($ socket)
echo "socket_create () successed! / n";
Else
Echo "socket_create () failed:". Socket_stroRROR ($ socket). "/ n";
$ conn = Socket_connect ($ socket, $ ip, $ port); // Establish a socket connection
IF ($ conn)
Echo "Success to Connection! [". $ IP. ":": ". $ port."] / n ";
Else
Echo "socket_connect () failed:". Socket_strerror ($ conn). "/ n";
Echo Socket_read ($ socket, 1024);
$ stdin = fopen ('php: // stdin', 'r');
While (True)
{
$ comMMAND = Trim (FGETS ($ STDIN, 1024));
Socket_Write ($ socket, $ command, strlen ($ commit));
$ msg = trim (Socket_read ($ socket, 1024));
Echo $ msg. "/ n";
IF ($ msg == "BYE-BYE")
Break;
}
Fclose ($ stdin);
Socket_close ($ socket);
?>