send($client, "Please enter your name: "); } function onClose ($client, $server) { global $clients; $name = $clients[$client]; unset($clients[$client]); if ($name === false) return; // if it never gave us a name, we don't care $server -> broadcast("$name disconnected", 0, SERVER_SEND_LINE_CRLF); } function onMessage ($message, $client, $server) { global $clients; if ($clients[$client] === false) { $clients[$client] = $message; // first message is the name $server -> broadcast("$message connected", - $client, SERVER_SEND_LINE_CRLF); // and we tell everyone else this person connected return; } $name = $clients[$client]; $server -> broadcast("$name: $message", - $client, SERVER_SEND_LINE_CRLF); // we send the message to everyone but the guy who sent it } function setupServer () { $server = new Server(); $server -> splitMode = SERVER_SPLIT_NEWLINES_NO_BLANKS; // we split on Enters $server -> openCallback = "onConnection"; $server -> closeCallback = "onClose"; $server -> receiveCallback = "onMessage"; return $server; } $myServer = setupServer(); $myServer -> open(46464); // choose any port you like ?>