<?php
$address = '127.0.0.1';
$port = 23456;
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
socket_set_nonblock($sock);
socket_bind($sock, $address, $port);
socket_listen($sock, 5);
function wyslijDoReszty($resources,$buf,$msgsock = NULL) {
$buf .= chr(0);
foreach($resources as $soc) {
if ($soc && ($msgsock == $soc || !$msgsock)) {
if (@socket_write
($soc,$buf,strlen($buf)) == false) { getError($soc);
}
}
}
}
function getError($socketID) {
unset($GLOBALS['resources'][$key]); print $socketID." rozlaczono\n"; }
print "serwer uruchomiono ".$address.":".$port."\n";
do {
if ($c = @socket_accept($sock)) {
print "NEW CONNECTION...".$c."\n"; $msg = "Witaj... ".$c."\n".chr(0);
socket_write
($c, $msg, strlen($msg)); $resources[] = $c;
}
foreach($resources as $msgsock) {
if ($buf = trim(@socket_read
($msgsock, 2048
))) { if ($buf == 'info') {
$buf = "-------------- POLACZENIA:\n".print_r($resources,true)."Ilosc polaczen: ".count($resources)."\n"; wyslijDoReszty($resources,$buf,$msgsock);
print "-------------- wywolano INFO przez ".$msgsock."\n"; }
elseif ($buf == 'shutdown') {
$buf = "-------------- SERWER WYLACZONO!\n";
wyslijDoReszty($resources,$buf);
foreach($resources as $msgsock) {
@socket_close($msgsock);
}
print "-------------- serwer zamkniety przez ".$msgsock; }
else {
$buf = $msgsock.": ".$buf;
wyslijDoReszty($resources,$buf);
}
}
}
//usleep(2000);
} while (true);
socket_close($sock);
?>
+
flashowy klient (.exe)+
źródło klient (flash 8.0)1. odpalamy serwer ("php nazwaskryptu.php")
2. odpalamy klienta flash i sie laczymy
3. odpalamy drugiego klienta flash i sie laczymy
4. piszemy do siebie ;] lol