nizej kod serwera i klienta jakby ktos chcial zobaczyc, to ma byc komunikator, w lewym okienku wpisujemy, w prawym otrzymujemy wiadomosc, chodzi o to zeby np w polu "wyslij do" (albo zrobic jakas liste rowijana z kontaktami) dalo sie wpisac ip albo jakies id i do tego hosta wyslac wiadomosc
najpierw uruchamiamy plik serv.php
<?php $address = '127.0.0.1'; $port = 10002; $max_clients = 10; $sock = socket_create(AF_INET, SOCK_STREAM, 0); socket_listen($sock); while (true) { $read[0] = $sock; for ($i = 0; $i < $max_clients; $i++) { if ($client[$i]['sock'] != null) $read[$i + 1] = $client[$i]['sock'] ; } $ready = socket_select($read, $write = NULL, $except = NULL, $tv_sec = NULL); for ($i = 0; $i < $max_clients; $i++) { if ($client[$i]['sock'] == null) { $client[$i]['sock'] = socket_accept($sock); break; } elseif ($i == $max_clients - 1) } if (--$ready <= 0) continue; } for ($i = 0; $i < $max_clients; $i++) { { $input = socket_read($client[$i]['sock'] , 1024); if ($input == null) { } if ($input == 'exit') { socket_close($client[$i]['sock']); } elseif ($input) { $output = $input; socket_write($client[$i]['sock'],$output); } } else { socket_close($client[$i]['sock']); } } } socket_close($sock); ?>
plik cli.php wywolujemy z parametrem bo sie wysypie,np: http://localhost/cli.php?message=Witaj&Submit=Wyslij
STATUS<br><textarea cols="22" rows="7"> <?php $address = "127.0.0.1"; $port = 10002; $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if ($socket === false) { } else { } $result = socket_connect($socket, $address, $port); if ($result === false) { } else { } ?> </textarea> <form action="cli.php" method="GET"> <br><br><br> <center> <textarea cols="30" rows="7" name ="message"> </textarea> <?php { $i = $_GET['message']; } ?> <textarea cols="30" rows="7"> <?php { $input = socket_read($socket, 2048); } socket_close($socket); ?> </textarea> <br><br> Wyślj do:<input type="text"><br><br> <input type="submit" name="Submit" value="Wyslij"> <input type=reset name="Wyczysc"></center>
Z gory dzieki za kazda pomoc