socket_server.php 784 B

123456789101112131415161718192021222324252627282930
  1. <?php
  2. error_reporting(E_ALL);
  3. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  4. if ( $socket === false ) {
  5. echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n";
  6. }
  7. $ok = socket_bind( $socket,'127.0.0.1',11109);
  8. if ( $ok === false ) {
  9. echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) );
  10. }
  11. $ok = socket_listen($socket, 128);
  12. if ( $ok === false ) {
  13. echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) );
  14. }
  15. while ( true ) {
  16. sleep(1000);
  17. $conn = socket_accept($socket);
  18. if($conn) {
  19. if(socket_recv($conn, $data, 8192, null))
  20. {
  21. echo $data,"\n";
  22. socket_send($conn, "hello world\n", 11, null);
  23. socket_close($conn);
  24. }
  25. } else {
  26. echo "error\n";
  27. }
  28. }