Guest User

Untitled

a guest
Jun 23rd, 2018
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.03 KB | None | 0 0
  1. <?php
  2.  
  3. $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
  4. echo "Socket wurde erstellt\n";
  5.  
  6. socket_bind($socket, "192.168.2.11", 1337);
  7.  
  8. socket_listen($socket);
  9.  
  10. $verbindungen = array();
  11. $puffer = array();
  12.  
  13. socket_set_nonblock($socket);
  14.  
  15. while (1) {
  16.  
  17. $verbindung = @socket_accept($socket);
  18.  
  19. if ($verbindung != false) {
  20. socket_write($verbindung, "Hallo Welt!\r\n");
  21. $verbindungen[] = $verbindung;
  22. $puffer[$verbindung] = "";
  23. }
  24.  
  25.  
  26. foreach ($verbindungen as $key => $verbindung) {
  27.  
  28. $string = socket_read($verbindung, 9999, PHP_BINARY_READ); //False bei nem leeren string O.o
  29.  
  30. if ($string === ''){ //Verbindung vom Clienten beendet...
  31. socket_close($verbindung);
  32. unset ($verbindungen[$key]);
  33. }
  34.  
  35. $puffer[$verbindung] .= $string;
  36. if (strpos($puffer[$verbindung], "\n") !== false) {
  37.  
  38. $explode = explode("\n", $puffer[$verbindung], 2);
  39. $string = trim($explode[0]);
  40. $puffer[$verbindung] = $explode[1];
  41.  
  42.  
  43.  
  44. if (strtolower(trim($string)) == "me") {
  45. socket_getpeername($verbindung, $adresse, $port);
  46. socket_write($verbindung, "IP: $adresse, Port: $port\r\n");
  47.  
  48. }
  49. elseif (strtolower(trim($string)) == "lc") {
  50.  
  51. $str = "";
  52. foreach ($verbindungen as $id => $data) {
  53. socket_getpeername($data, $adresse, $port);
  54. $str .= "$id: $adresse:$port\r\n";
  55. }
  56. socket_write($verbindung, $str);
  57. }
  58.  
  59. elseif (strtolower(trim($string)) == "bye") {
  60. socket_write($verbindung, "Wir sehn uns :D\r\n");
  61. socket_close($verbindung);
  62. unset ($verbindungen[$key]);
  63. continue;
  64. }
  65. else {
  66. socket_write($verbindung, "Du hast eingegeben: " . trim($string) . "\r\n");
  67. }
  68. }
  69.  
  70. }
  71.  
  72. usleep(100000);
  73.  
  74. }
Add Comment
Please, Sign In to add comment