Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
- echo "Socket wurde erstellt\n";
- socket_bind($socket, "192.168.2.11", 1337);
- socket_listen($socket);
- $verbindungen = array();
- $puffer = array();
- socket_set_nonblock($socket);
- while (1) {
- $verbindung = @socket_accept($socket);
- if ($verbindung != false) {
- socket_write($verbindung, "Hallo Welt!\r\n");
- $verbindungen[] = $verbindung;
- $puffer[$verbindung] = "";
- }
- foreach ($verbindungen as $key => $verbindung) {
- $string = socket_read($verbindung, 9999, PHP_BINARY_READ); //False bei nem leeren string O.o
- if ($string === ''){ //Verbindung vom Clienten beendet...
- socket_close($verbindung);
- unset ($verbindungen[$key]);
- }
- $puffer[$verbindung] .= $string;
- if (strpos($puffer[$verbindung], "\n") !== false) {
- $explode = explode("\n", $puffer[$verbindung], 2);
- $string = trim($explode[0]);
- $puffer[$verbindung] = $explode[1];
- if (strtolower(trim($string)) == "me") {
- socket_getpeername($verbindung, $adresse, $port);
- socket_write($verbindung, "IP: $adresse, Port: $port\r\n");
- }
- elseif (strtolower(trim($string)) == "lc") {
- $str = "";
- foreach ($verbindungen as $id => $data) {
- socket_getpeername($data, $adresse, $port);
- $str .= "$id: $adresse:$port\r\n";
- }
- socket_write($verbindung, $str);
- }
- elseif (strtolower(trim($string)) == "bye") {
- socket_write($verbindung, "Wir sehn uns :D\r\n");
- socket_close($verbindung);
- unset ($verbindungen[$key]);
- continue;
- }
- else {
- socket_write($verbindung, "Du hast eingegeben: " . trim($string) . "\r\n");
- }
- }
- }
- usleep(100000);
- }
Add Comment
Please, Sign In to add comment