Return to shutdown.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / network |
1.1 misho 1: --TEST-- 2: stream_socket_shutdown() test on IPv4 TCP Loopback 3: --SKIPIF-- 4: <?php 5: function_exists('stream_socket_shutdown') or die('skip stream_socket_shutdown() is not supported.'); 6: ?> 7: --FILE-- 8: <?php 9: /* Setup socket server */ 10: $server = stream_socket_server('tcp://127.0.0.1:31337'); 11: if (!$server) { 12: die('Unable to create AF_INET socket [server]'); 13: } 14: 15: /* Connect and send request 1 */ 16: $client1 = stream_socket_client('tcp://127.0.0.1:31337'); 17: if (!$client1) { 18: die('Unable to create AF_INET socket [client]'); 19: } 20: @fwrite($client1, "Client 1\n"); 21: stream_socket_shutdown($client1, STREAM_SHUT_WR); 22: @fwrite($client1, "Error 1\n"); 23: 24: /* Connect and send request 2 */ 25: $client2 = stream_socket_client('tcp://127.0.0.1:31337'); 26: if (!$client2) { 27: die('Unable to create AF_INET socket [client]'); 28: } 29: @fwrite($client2, "Client 2\n"); 30: stream_socket_shutdown($client2, STREAM_SHUT_WR); 31: @fwrite($client2, "Error 2\n"); 32: 33: /* Accept connection 1 */ 34: $socket = stream_socket_accept($server); 35: if (!$socket) { 36: die('Unable to accept connection'); 37: } 38: @fwrite($socket, fgets($socket)); 39: @fwrite($socket, fgets($socket)); 40: fclose($socket); 41: 42: /* Read Response 1 */ 43: echo fgets($client1); 44: echo fgets($client1); 45: 46: /* Accept connection 2 */ 47: $socket = stream_socket_accept($server); 48: if (!$socket) { 49: die('Unable to accept connection'); 50: } 51: @fwrite($socket, fgets($socket)); 52: @fwrite($socket, fgets($socket)); 53: fclose($socket); 54: 55: /* Read Response 2 */ 56: echo fgets($client2); 57: echo fgets($client2); 58: 59: fclose($client1); 60: fclose($client2); 61: fclose($server); 62: ?> 63: --EXPECT-- 64: Client 1 65: Client 2